栈的压入,弹出序列-Java
栈的压入、弹出序列
http://www.nowcoder.com/questionTerminal/d77d11405cc7470d82554cb392585106
一. 思路
直接按照自己如何解题的思路来。
核心是扫描一遍入栈数组并将数组元素入栈。匹配到栈元素与出栈数组中的元素相同时,就出栈并再次循环判断。
二. 代码
import java.util.ArrayList;
import java.util.Stack;
public class Solution {
public boolean IsPopOrder(int [] pushA,int [] popA) {
boolean isPopOrder = false;
Stack<Integer> stack = new Stack<Integer>();
int j = 0;
for (int i = 0; i < pushA.length; i++){
stack.push(pushA[i]);
while (!stack.isEmpty() && stack.peek() == popA[j]) {
stack.pop();
j++;
}
}
return stack.isEmpty();
}
}
海康威视公司福利 1257人发布