🚀栈操作序列验证:Validate Stack Sequences(LeetCode 946)
✨题目描述
给定两个整数序列 pushed 和 popped,每个序列中的元素 都不重复。我们假设有一个栈,初始为空。你可以按顺序将 pushed 中的元素压入栈中,同时也可以在任意时刻将栈顶元素弹出,只要它等于当前 popped 中的下一个值。
请判断:是否有可能将 pushed 和 popped 作为一次有效的栈操作序列?如果可以,返回 True,否则返回 False。
🧾输入输出示例
输入: pushed = [1,2,3,4,5], popped = [4,5,3,2,1]
输出: True
输入: pushed = [1,2,3,4,5], popped = [4,3,5,1,2]
输出: False
🔍解题分析
这是一个经典的栈模拟问题。
我们只需要模拟一个栈,依次将 pushed 中的元素压入。当栈顶的元素和 popped 中当前需要弹出的元素一致时,就出栈。这样不断操作,看是否可以将 popped 中的所有元素依次成功弹出。
这个题的关键点在于:
- 保证顺序地压入
pushed。 - 每次压栈后,尽

最低0.47元/天 解锁文章
180

被折叠的 条评论
为什么被折叠?



