题解 | 验证栈序列
验证栈序列
https://www.nowcoder.com/practice/d3178fe362dd4810b577c77c9e128fc5
import java.util.Scanner; import java.util.Stack; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别; int n = Integer.parseInt(in.nextLine()); for(int i = 0;i<n;i++){ int sum = Integer.parseInt(in.nextLine()); String[] push = in.nextLine().split(" "); String[] pop = in.nextLine().split(" "); Stack<String> zhan = new Stack<String>(); int k = 0; for(int j = 0;j< sum; j++){ zhan.push(push[j]); // System.out.println("000:"+zhan.toString()+",j:"+j+",k:"+k); while(k<sum && zhan.size()>0 && zhan.peek().equals(pop[k])){ zhan.pop(); // System.out.println("111:"+zhan.toString()+",j:"+j+",k:"+k); k++; } } System.out.println(zhan.size()>0?"No":"Yes"); } } }