每天一道算法题(13)——使用递归颠倒栈
来源:互联网 发布:淘宝模特招聘兼职 编辑:程序博客网 时间:2024/06/06 02:48
题目:用递归颠倒一个栈。例如输入栈{1, 2, 3, 4, 5},1 在栈顶。颠倒之后的栈为{5, 4, 3, 2, 1},5 处在栈顶
思路:
1.弹出并保存栈顶元素 2.递归,颠倒剩余的栈 3.将栈顶元素保存至栈底
代码:
//使用递归法,逆转栈template<typename T>bool reverseStack(stack<T> &s){if(!s.empty())return false;T temp=s.top();s.pop();reverseStack(s);adBottom(s,temp);return true;}//某个元素,使用递归法,添加至栈底。template<typename T>void adBottom(stack<T> &s,T t){if(!s.empty())s.push(t);else{T temp=s.top(); s.pop();adBottom(s,t);s.push(t);}}
0 0
- 每天一道算法题(13)——使用递归颠倒栈
- 每天一道算法题——每天一道算法题
- 每天一道算法题(38)——二叉树的非递归遍历
- 每天一道算法题——汉诺塔
- 每天一道算法题——
- 每天一道算法题——用栈实现队列
- 【每天一道算法题】
- 【每天一道算法题】
- 【每天一道算法题】
- 每天一道算法题(16)——翻转链表
- 每天一道算法题(22)——扑克牌的顺子
- 每天一道算法题(23)——约瑟夫环问题
- 每天一道算法题(31)——正数减法
- 每天一道算法题(34)——背包问题
- 每天一道算法题(36)——8皇后问题
- 每天一道算法题——求全排列
- 每天一道算法题——奇偶数划分
- 每天一道算法题——Leecode.386. Lexicographical Numbers
- java socket简单实现
- html5 滑动事件
- 第一章:初始化分析
- phonegap/cordova学习建议
- STL学习笔记之容器--deque(一)
- 每天一道算法题(13)——使用递归颠倒栈
- 动态加载js的方法
- 小知识点
- 网狐棋牌经典版管理后台操作手册
- 关于“政府和艺术”的GRE Issue原题
- 浅谈大小端存储
- Dart的HTTP请求和响应(1)
- 配置虚拟主机映射到根目录的问题
- 在QML应用中如何实现drag and drop功能