//检查pop序列中每一个字符
while(popindex
while(list.size()==0 || list.getLast()!= pop.charAt(popindex)){
if(pushindex>=length)break;
list.add(push.charAt(pushindex));
pushindex++;
}
//入栈完毕后,如果栈顶元素和pop中要访问的字符仍然不一样,则此pop序列不是合法的pop序列
if(list.getLast()!=pop.charAt(popindex)){
break;
}
//检查pop序列中的下一个字符
list.pollLast();
popindex++;
}
//如果pop序列中所有的字符都被检查过,则该序列是合法的
if(list.size()==0&&popindex==length){
isPossible = true;
}
}
return isPossible;
}
}
运行结果:
输出序列是否为合法的pop序列:false