用递归函数和栈操作逆序一个栈(每日一道算法题)
来源:互联网 发布:wmf用什么软件打开 编辑:程序博客网 时间:2024/05/16 09:04
本题考查栈的操作和递归的设计。
我们需要设计出两个函数:
①将Stack栈底元素移除并返回
②逆序一个栈
package stack;import java.util.Stack;public class RecurrenceStack { 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); } //测试public static void main(String[] args) { Stack<Integer> stack = new Stack<Integer>(); stack.push(1); stack.push(2); stack.push(3); stack.push(4); reverse(stack); System.out.print(stack.pop()+","); System.out.print(stack.pop()+","); System.out.print(stack.pop()+","); System.out.print(stack.pop()+","); }}
参考文献:《程序员代码面试指南》—-左程云
阅读全文
0 0
- 用递归函数和栈操作逆序一个栈(每日一道算法题)
- 仅用递归函数和栈操作逆序一个栈
- 仅用递归函数和栈操作逆序一个栈
- 用递归函数和栈操作逆序一个栈
- 仅用递归函数和栈操作逆序一个栈
- 用递归函数和栈操作逆序一个栈
- 栈和队列(3)--如何仅用递归函数和栈操作逆序一个栈
- 如何使用递归函数和栈操作逆序一个栈
- 用递归函数和栈操作逆序栈(递归)
- 栈和队列之仅用递归函数和栈操作逆序一个栈
- 1栈和队列--仅用递归函数和栈操作逆序一个栈
- 栈和队列之仅用递归函数和栈操作逆序一个栈
- 栈和队列——如何仅用递归函数和栈操作逆序一个栈
- 栈和队列 如何仅用递归函数和栈操作逆序一个栈
- 栈和队列---如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈
- 3.如何仅用递归函数和栈操作逆序一个栈
- 重造轮子 用递归函数和栈操作逆序一个栈
- 一起学并发编程
- 已安装Oracle后安装gateway启动监听只能起一个
- Linux CAN编程详解
- TAG
- ubuntu17.04下安装LNMP
- 用递归函数和栈操作逆序一个栈(每日一道算法题)
- 【无人零售】易观:2017中国无人便利店发展专题分析
- Python3网络爬虫快速入门实战解析(一小时入门 Python 3 网络爬虫)
- 一起学并发编程
- 【人工智能】终于把“人工”+“智能”讲清楚了!!!
- 【区块链】安永:区块链平台调研与分析
- php 一个简单的符合PSR-0规范的框架
- JPA persistence.xml 配置
- 【新零售】CBNData:2017线下零售新生态报告