作者:Jingle丶韩静手_247 | 来源:互联网 | 2023-10-13 10:22
1.题目:
题目描述
一个栈依次压入1,2,3,4,5,那么从栈顶到栈底分别为5,4,3,2,1。将这个栈转置后,从栈顶到栈底为1,2,3,4,5,也就是实现栈中元素的逆序,但是只能用递归函数来实现,不能用其他数据结构。
输入描述:
输入数据第一行一个整数N为栈中元素的个数。接下来一行N个整数X_iXi表示从栈顶依次到栈底的每个元素。
输出描述:
输出一行表示栈中元素逆序后的每个元素
示例1
输入
复制
5 1 2 3 4 5
输出
复制
5 4 3 2 1
2.代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;public class Main {public static void main(String[] args) throws IOException {BufferedReader buff&#61;new BufferedReader(new InputStreamReader(System.in));Stacksta&#61;new Stack<>();int n&#61;Integer.parseInt(buff.readLine());String str&#61;buff.readLine();String []str1&#61;str.split(" ");for(int i&#61;0;i sta) {if(!sta.isEmpty()) {return sta.pop();}return sta.peek();}
}
3.总结
这个题目主要可以通过两个操作&#xff1a;
1&#xff09;返回并删除栈底元素&#xff1b;
2&#xff09;移除并返回当前栈底元素
但是这篇博客中的题目&#xff0c;只需要直接打印出来即可&#xff0c;在代码中直接获取top&#xff0c;然后打印即可。
这个题目主要考察的是栈的操作和递归函数的设计。