LeetCode: Stack
Next Greater Element I
这道题还挺复杂的。虽然是easy的难度,结果我研究半天也没研究出来。
看了答案也没理解。。。
最终了解到底为什么不对了。
我一开始的想法:建立一个stack,如果当前的number大于stack.top()就push,小于就pop().
但是其实重点是在于:
1. 建立一个stack,将stack.top()和当前元素比较,如果stack.top() > current, push current. 如果stack.top() < current, 则说明stack.top()这个元素的next greater value is: currrent. Then mark stack.top()'s next greater value is: current. 并且pop。然后再继续比较,知道stack.top() > current, or stack is empty. 最后,将current存入stack。
评论