有两个数组:
1: 9、5、1、4、3
2: 5、9、3 、4、1
如果可以通过压站出站1数组转换成2数组,则返回true;
public static boolean validate(int[] resources,int[] target){
Stack<Integer> stack=new Stack<>();
int tIndex=0;
int k=0;
for(int i=0;i<resources.length;){
stack.push(resources[i]);
int temp=stack.peek();
for(int j=tIndex;j<target.length;j++){
if(temp==target[j]){
k=j;
break;
}else if(i<resources.length-1){
stack.push(resources[++i]);
}
}
for(int m=tIndex;m<=k;m++){
if(stack.size()>0){
int tt=stack.pop();
if(tt!=target[m]){
return false;
}
}
}
if(stack.size()>0){
return false;
}
i=i+1;
tIndex=k+1;
}
return true;
}