标签:
1 import java.util.Stack; 2 3 public class Solution { 4 public boolean IsPopOrder(int [] pushA,int [] popA) { 5 Stack<Integer> s = new Stack<Integer>() ; 6 int j = 0 ;
//边界条件判定 7 if(pushA.length!=popA.length||pushA.length ==0||popA.length==0){ 8 return false ; 9 }
//如果两个序列的一个字符相同,则将该字符入栈再出栈,若不同,则将其入栈 10 for(int i = 0 ;i < pushA.length ;i++){ 11 if(pushA[i] == popA[j]){ 12 s.push(pushA[i]) ; 13 s.pop() ; 14 j++ ; 15 } 16 else 17 s.push(pushA[i]) ; 18 } 19 if(s.empty()){ 20 return true ; 21 } 22 while(!s.empty()){ 23 if(s.peek()!=popA[j]){ 24 return false ; 25 } 26 else 27 { 28 s.pop() ; 29 j++ ; 30 } 31 } 32 return true ; 33 } 34 }
标签:
原文地址:http://www.cnblogs.com/huntertoung/p/4779970.html