首页 > 试题广场 >

用递归函数和栈操作逆序栈

[编程题]用递归函数和栈操作逆序栈
  • 热度指数:8063 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

一个栈依次压入1,2,3,4,5那么从栈顶到栈底分别为5,4,3,2,1。将这个栈转置后,从栈顶到栈底为1,2,3,4,5,也就是实现了栈中元素的逆序,请设计一个算法实现逆序栈的操作,但是只能用递归函数来实现,而不能用另外的数据结构。

给定一个栈Stack以及栈的大小top,请返回逆序后的栈。

测试样例:
[1,2,3,4,5],5
返回:[5,4,3,2,1]
头像 阿基拉
发表于 2023-03-20 11:24:01
import java.util.*; public class ReverseStack { // [1,2,3,4,5],5 public int[] reverseStackRecursively(int[] stack, int top) { // writ 展开全文
头像 重生之我要当分子
发表于 2025-01-01 15:22:20
解题思路 这是一个栈的递归逆序问题。通过递归遍历和重新赋值来实现栈的逆序操作。 关键点: 使用双指针记录当前处理的位置 递归保存原始元素 回溯时重新赋值实现逆序 算法步骤: 递归遍历记录原始元素顺序 在回溯过程中重新赋值 实现栈的逆序效果 代码 cpp java python 展开全文
头像 阿基拉
发表于 2023-03-21 10:43:22
import java.util.*; public class ReverseStack { public int[] reverseStackRecursively(int[] stack, int top) { // write code here // 展开全文

问题信息

难度:
81条回答 48238浏览

热门推荐

通过挑战的用户

查看代码
用递归函数和栈操作逆序栈