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

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

作者: 第六象限 | 来源:发表于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