栈和队列之仅用递归函数和栈操作逆序一个栈
生活随笔
收集整理的這篇文章主要介紹了
栈和队列之仅用递归函数和栈操作逆序一个栈
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
import java.util.Stack;/*** recursion 遞歸的意思* @author chenyu* 題目:僅用遞歸函數(shù)和棧操作逆序一個(gè)棧,列如一次壓入1、2、3、4、5 棧頂?shù)綏5资?、4、3、2、1* 將這個(gè)棧轉(zhuǎn)置后棧頂?shù)綏5滓来螢?、2、3、4、5* * 思路:需要兩遞歸函數(shù) * 第一個(gè)遞歸函數(shù)是去除棧底并且得到棧底的函數(shù)* 第二個(gè)遞歸函數(shù)是依次調(diào)用第一個(gè)遞歸函數(shù),然后再壓入棧*/
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());}
}/*** 去除棧底并且得到棧底的函數(shù)* @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
總結(jié)
以上是生活随笔為你收集整理的栈和队列之仅用递归函数和栈操作逆序一个栈的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 栈和队列之用2个栈实现一个队列
- 下一篇: Git之如何解决Error:pathsp