每日一题:验证栈序列(LeetCode 946)
题目
给定 pushed
和 popped
两个序列,每个序列中的 值都不重复,只有当它们可能是在最初空栈上进行的推入 push
和弹出 pop
操作序列的结果时,返回 true
;否则,返回 false
。
解答
class Solution {
public:
bool validateStackSequences(vector<int>& pushed, vector<int>& popped) {
stack<int> stk;
int popIdx = 0;
for(int i = 0; i < pushed.size(); i++)
{
stk.push(pushed[i]);
while(stk.size() && stk.top() == popped[popIdx])
{
stk.pop();
popIdx++;
}
}
return !stk.size();
}
};
THE END
0
二维码
打赏
海报
每日一题:验证栈序列(LeetCode 946)
题目
给定 pushed 和 popped 两个序列,每个序列中的 值都不重复,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true;否……
共有 0 条评论