题解 | 验证栈序列

验证栈序列

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");
        }
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务