栈和队列之仅用递归函数和栈操作逆序一个栈
生活随笔
收集整理的這篇文章主要介紹了
栈和队列之仅用递归函数和栈操作逆序一个栈
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import java.util.Stack;/*** recursion 遞歸的意思* @author chenyu* 題目:僅用遞歸函數和棧操作逆序一個棧,列如一次壓入1、2、3、4、5 棧頂到棧底是5、4、3、2、1* 將這個棧轉置后棧頂到棧底依次為1、2、3、4、5* * 思路:需要兩遞歸函數 * 第一個遞歸函數是去除棧底并且得到棧底的函數* 第二個遞歸函數是依次調用第一個遞歸函數,然后再壓入棧*/
public class ReverseStackByRecursion {public static void main(String[] args) {Stack<Integer> stack=new Stack<Integer>();stack.push(1);stack.push(2);stack.push(3);stack.push(4);stack.push(5);reverse(stack);while(!stack.empty()){System.out.println(stack.pop());}
}/*** 去除棧底并且得到棧底的函數* @param stack* @return*/public static int getAndRemoveLastElement(Stack<Integer> stack){int result =stack.pop();if(stack.isEmpty()){return result;}else{int last=getAndRemoveLastElement(stack);stack.push(res
總結
以上是生活随笔為你收集整理的栈和队列之仅用递归函数和栈操作逆序一个栈的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 栈和队列之用2个栈实现一个队列
- 下一篇: Git之如何解决Error:pathsp