
leetcode栈
文章平均质量分 52
岗岗ganggang
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode445 剑指 Offer II 025. 链表中的两数相加 python
题目描述: 题解:栈 1.用stack1保存链表l1中节点,stack2保存链表l2中节点值。 2.创建一个初始为None的节点,表示进位数字的into,初始为0. 3.当stack1或stack2不为空或into不为0的时候执行加法:stack1栈顶元素值保存在a,stack2栈顶元素值保存在b,如果栈为空,则对应的值为0. 4.计算a+b+into的值,(a+b+into)%10为当前位的和,(a+b+into)//10为当前位向前一位的进位,更新into。 5.创建一个新节点newno原创 2022-01-05 21:08:11 · 717 阅读 · 0 评论 -
leetcode 剑指 Offer 31. 栈的压入、弹出序列python
题目描述: 题解:用栈模拟 创建一个栈astack(用list模拟),一个flag记录匹配到popped数组中的位置,将pushed中的每个数字依次压入astack,然后判断,如果当前栈顶的元素与popped数组flag位置匹配,则弹出栈顶元素,如果最终flag值与popped长度相同,则匹配,否则不匹配。 class Solution: def validateStackSequences(self, pushed: List[int], popped: List[int]) -&g.原创 2021-12-18 11:03:44 · 535 阅读 · 0 评论 -
leetcode 剑指 Offer 30. 包含min函数的栈 python
题目描述: 题解一:未通过 1.在对MinStack进行初始化的时候,初始化一个栈stack和一个记录当前栈中最小元素的minnum,初始化为系统最大值。 2.每次向stack中添加元素的时候,如果小于当前minnum则更新。 但是没有考虑到可能minnum对应元素被pop删除的情况。 class MinStack(object): def __init__(self): self.stack = [] self.minnum = sys.maxs.原创 2021-11-24 19:54:06 · 191 阅读 · 0 评论 -
剑指 Offer 09. 用两个栈实现队列python
题目描述: 题解: 两个栈底层还是采用队列实现,但需要使队列保持先进先出特性来模拟栈。 1.初始化两个栈stack1 stack2,stack1模拟队列,stack2辅助。 2.向队列末尾添加元素,可以直接使用append实现。 3.删除stack1头部元素实现方式:先将stack1中全部元素依次pop后添加到Stack2,此时stack2最顶端元素就是stack1的头部元素,用result记录stack2.pop()结果,然后再将stack2剩余元素依次放回stack1,保持stack1与.原创 2021-11-24 10:00:13 · 170 阅读 · 0 评论