
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 · 111 阅读 · 0 评论 -
LeetCode 20 Valid Parentheses
思路 遍历整个string,遇到前半部分就入栈,遇到后半部分就判断栈顶是否与之匹配,不匹配则直接返回false,匹配则继续遍历。【注意,遇到后半部分时,如果栈为空,则不用匹配,直接返回false】 最后判断栈是否为空,若为空,则说明匹配成功;否则,匹配失败。 代码 class Solution { public boolean isValid(String s) { Sta...原创 2019-03-14 14:37:25 · 189 阅读 · 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 · 108 阅读 · 0 评论