![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
stack
我要上岸!!!
这个作者很懒,什么都没留下…
展开
-
LeetCode 225 Implement Stack using Queues
思路只说一下pop和top操作。(1)对于pop:每次pop的时候:首先将queue中的所有元素依次poll到一个tmp队列中,并用last变量记录最后一个poll出来的元素,用count记录加入tmp队列的次数,用来防止将最后一个需要移除的数据再加进去。最后queue = tmp,返回last即可。时间复杂度O(n),空间复杂度O(n)(2)top:与pop操作基本相同,只是不需要用co...原创 2019-03-14 09:35:17 · 76 阅读 · 0 评论 -
LeetCode 20 Valid Parentheses
思路遍历整个string,遇到前半部分就入栈,遇到后半部分就判断栈顶是否与之匹配,不匹配则直接返回false,匹配则继续遍历。【注意,遇到后半部分时,如果栈为空,则不用匹配,直接返回false】最后判断栈是否为空,若为空,则说明匹配成功;否则,匹配失败。代码class Solution { public boolean isValid(String s) { Sta...原创 2019-03-14 14:37:25 · 130 阅读 · 0 评论 -
LeetCode 32 Longest Valid Parentheses
思路用stack存左括号和没匹配上的右括号的索引。遇到左括号:直接入栈。遇到右括号:(1)若栈为空,则直接入栈(2)若栈不为空:看栈顶元素是否为左括号,若为左括号,则pop并且max = i-peek();【其中若弹栈后栈空了,则i-(-1)】复杂度时间复杂度O(n), 空间复杂度O(n)代码class Solution { public int longestValidP...原创 2019-03-20 08:59:07 · 84 阅读 · 0 评论