算法总结之 如何用递归函数和栈操作逆序一个栈
2017-09-12 17:37
127 查看
一个栈一次压入 1 2 3 4 5 那么从栈顶到栈底分别为 5 4 3 2 1. 将这个栈转置后,从栈顶到栈底为 1 2 3 4 5 实现栈中元素的逆序
要求只能用 递归函数实现
代码:
package TT; import java.util.Stack; public class Test122 { public static int getAndRemoveLaseElement(Stack<Integer> stack){ int result = stack.pop(); if(stack.isEmpty()){ return result; }else { int last = getAndRemoveLaseElement(stack); stack.push(result); return last; } } public static void reverse( Stack<Integer> stack){ if(stack.isEmpty()){ return; } int i = getAndRemoveLaseElement(stack); reverse(stack); stack.push(i); } }
这个代码是这么理解:
最后一层递归 空的时候 return result=1 last此时就是1了 然后push进去的都是result~~~~
相关文章推荐
- 数据结构 如何仅用递归函数和栈操作逆序一个栈
- 如何使用递归函数和栈操作逆序一个栈
- 程序员面试指南之如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈
- C++使用递归函数和栈操作逆序一个栈的算法示例
- 如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈
- 003如何仅使用递归函数和栈操作逆序一个栈
- 程序员代码面试指南--如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈
- 3.如何仅用递归函数和栈操作逆序一个栈
- 栈和队列(3)--如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈
- 用递归函数和栈操作逆序一个栈(每日一道算法题)
- 栈和队列——如何仅用递归函数和栈操作逆序一个栈
- 栈和队列---如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈(java实现)