欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java面试:java栈和队列相关,

来源: javaer 分享于  点击 48668 次 点评:201

Java面试:java栈和队列相关,


题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

解答:

 public static void main(String[] args) {

        Stack<Integer> stack1 = new Stack<>();
        Stack<Integer> stack2 = new Stack<>();

        //测试数据
        for(int i =1 ;i <= 5 ;i++){
            push(stack1,i);
        }
        System.out.println("输出stack1中的测试数据:"+stack1.toString());
        List<Integer> pop = pop(stack1, stack2);
        System.out.println("输出stack2中的测试数据:"+pop);

    }

    public static void push(Stack<Integer> stack1,int code){
        stack1.push(code);
    }

    public static List<Integer> pop(Stack<Integer> stack1, Stack<Integer> stack2){
        if(stack1.isEmpty()){
            return null;
        }
        if(stack2.isEmpty()){
            while (!stack1.isEmpty()){
            stack2.push(stack1.pop());
            }
        }
        List<Integer> list = new ArrayList<>();
        while (!stack2.isEmpty()){
            list.add(stack2.pop());
        }
        return list;
    }

 

相关文章

    暂无相关文章
相关栏目:

用户点评