门户网站建设不断,wordpress 弹出层,重庆 机械有限公司 江北网站建设,怎么自己做单页网站题目描述#xff1a; 输入两个整数序列#xff0c;第一个序列表示栈的压入顺序#xff0c;请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序#xff0c;序列4,5,3,2,1是该压栈序列对应的一个弹出序列#xff…题目描述 输入两个整数序列第一个序列表示栈的压入顺序请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序序列4,5,3,2,1是该压栈序列对应的一个弹出序列但4,3,5,1,2就不可能是该压栈序列的弹出序列。注意这两个序列的长度是相等的 思路分析: 该题的思路就是我们可以设置一个栈来模仿整个压栈的过程。当栈顶的元素不等于弹出数组首元素时我们就继续压元素入栈知道遇见相同的元素这时栈顶弹出弹出序列后移一位继续前面的操作如果最后栈为空那么弹出序列正确。 代码 import java.util.ArrayList;
import java.util.*;
public class Solution {public boolean IsPopOrder(int [] pushA,int [] popA) {StackIntegers1new Stack();if(pushA.length!popA.length)return false;int i0;int j0;s1.push(pushA[i]);while(jpopA.length){while(s1.peek()!popA[j]){if(ipushA.length)return false;s1.push(pushA[i]);}s1.pop();j;}return s1.isEmpty();}
} 转载于:https://www.cnblogs.com/yjxyy/p/10726490.html