首页 > 其他 > 详细

<剑指offer> 第19题

时间:2019-08-10 16:23:29      阅读:97      评论:0      收藏:0      [点我收藏+]

题目:

输入两个整数序列,第一个序列表示栈的压入顺序,判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。

思路:

引入辅助栈

代码实现:

import java.util.Stack;

public class Nineteenth {
    //引入辅助栈
    public static boolean judge(int[] arr1, int[] arr2){
        if(arr1.length != arr2.length){
            return false;
        }
        Stack<Integer> stack = new Stack<>();
       for(int i = 0; i < arr1.length; i ++){
           stack.push(arr1[i]);
       }
        for(int i = 0; i < arr2.length; i ++){
            if(arr2[i] != stack.pop()){
                return false;
            }
        }
        return true;
    }

    public static void main(String[] args){
        int[] arr1 = {1,2,3,4,5,6,7};
        int[] arr2 = {7,6,5,4,3,2,1};
        System.out.println(judge(arr1, arr2));
    }
}

 

<剑指offer> 第19题

原文:https://www.cnblogs.com/HarSong13/p/11331703.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!