美文网首页
仅用递归函数和栈操作逆序一个栈

仅用递归函数和栈操作逆序一个栈

作者: 第六象限 | 来源:发表于2017-11-24 11:11 被阅读0次

    递归函数一:将栈stack的栈底元素返回并移除

    public static int getAndRemoveLastElement(Stack<Integer> stack){
        int result =stack.pop();
        if(stack.isEmpty()){
            return result;
        }
        else{
            int last=getAndRemoveLastElement(stack);
            stack.push(result);
            return last;
        }
    }
    

    递归函数二:逆序一个栈

    public static void reverse(Stack<Integer> stack){
        if(stack.isEmpty()){
            return;
        }
        int i=getAndRemoveLastElement(stack);
        reverse(stack);
        stack.push(i);
    }
    

    相关文章

      网友评论

          本文标题:仅用递归函数和栈操作逆序一个栈

          本文链接:https://www.haomeiwen.com/subject/mopxbxtx.html