只看一种写法的情况
左边 最近 比我大或者小
比如,左边 最近 比我小(要说明,比我小,要pop的就是那些 >= 我值 的stk值)
遍历中
while(stk.size() && stk.top()的值 >= 我值) stk.pop() 不符合的pop()掉
if(stk.size()) 存在的情况
else 不存在的情况
stk.push(我值)
leetcode739实际上是在找 右边 最近 比我大
其实只是左,右的区别,倒着遍历即可,其他没有区别
ps:pop操作只会在哪一个地方pop
while里面永远对比的是数字的值,但是有些题要收集的是下标之间的计算,所以st存入的可能也是下标
所以注意,但while里面进行比较的一般肯定不是下标,而是数值。