946. 驗證棧序列
阿新 • • 發佈:2021-12-20
給定pushed和popped兩個序列,每個序列中的 值都不重複,只有當它們可能是在最初空棧上進行的推入 push 和彈出 pop 操作序列的結果時,返回 true;否則,返回 false。
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/validate-stack-sequences
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
心之所向,素履以往 生如逆旅,一葦以航import java.util.Stack; class Solution { public boolean validateStackSequences(int[] pushed, int[] popped) { int pushIdx = 0, popIdx = 0; Stack<Integer> stack = new Stack<>(); while (popIdx < popped.length) { while (pushIdx < pushed.length && (stack.isEmpty() || stack.peek() != popped[popIdx])) { stack.push(pushed[pushIdx++]); } if (stack.peek() != popped[popIdx]) { return false; } stack.pop(); popIdx++; } return true; } }