程序员面试指南之如何仅用递归函数和栈操作逆序一个栈
2016-10-13 12:20
267 查看
题目描述:
解题思路:
我们可以设计两个递归函数,第一个函数返回栈底元素并移除该元素得以让下一个递归函数进行压入操作。第一个函数示意图:题解:
import java.util.Stack; public class ReverseStack { //返回栈底元素并移除 public int getAndremoveLast(Stack<Integer> stack){ int res =stack.pop(); if(stack.isEmpty()){ return res; }else{ int last = getAndremoveLast(stack); stack.push(res); return last; } } //逆序压入元素 public void reversePush(Stack<Integer> stack){ if(stack.isEmpty()){ return; }else{ int i = getAndremoveLast(stack); reversePush(stack); stack.push(i); } } }
相关文章推荐
- 程序员代码面试指南--如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈
- 003如何仅使用递归函数和栈操作逆序一个栈
- 栈和队列 如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈
- 如何使用递归函数和栈操作逆序一个栈
- 栈和队列---如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈(java实现)
- 如何仅用递归函数和栈操作逆序一个栈
- 栈和队列——如何仅用递归函数和栈操作逆序一个栈
- 3.如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈
- 数据结构 如何仅用递归函数和栈操作逆序一个栈
- 栈和队列(3)--如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈
- 仅用递归函数和栈操作逆序一个栈
- 用递归函数和栈操作逆序一个栈