题解 | #CD7 用递归函数和栈逆序一个栈#

用递归函数和栈逆序一个栈

http://www.nowcoder.com/practice/1de82c89cc0e43e9aa6ee8243f4dbefd

  • 运行时间:100ms,超过84.68% 用Java提交的代码
  • 占用内存:13776KB,超过84.47%用Java提交的代码
import java.util.*;
import java.io.*;
 
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) throws IOException {
        Main mn = new Main();
        BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
        int row = Integer.parseInt(sc.readLine());
        Deque<Integer> stack = new LinkedList<>();
        String sn = sc.readLine();
        String[] ss = sn.split(" ");
        for(String s : ss) {
            stack.push(Integer.valueOf(s));
        }
        reverse(stack);
        while(!stack.isEmpty()){
            System.out.print(stack.pop() + " ");
        }
    }
    
    public static void reverse(Deque<Integer> stack) {
        if(stack.isEmpty()) return;
        int last = getAndRemoveLast(stack);
        reverse(stack);
        stack.push(last);
    }
    
    public static int getAndRemoveLast(Deque<Integer> stack) {
        int num = stack.pop();
        if(stack.isEmpty()) return num;
        int last = getAndRemoveLast(stack);
        stack.push(num);
        return last;
    }
}
全部评论

相关推荐

牛客38347925...:9,2学生暑期实习失利开始投小厂,给这群人整自信了
点赞 评论 收藏
分享
牛客83700679...:简历抄别人的,然后再投,有反馈就是简历不行,没反馈就是学历不行,多投多改只要技术不差机会总会有的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-04 18:02
好不容易拿到了字节Offer,鼠鼠做后端的,但家里人觉得可能被裁员不稳定,让鼠鼠去投国企,现在好纠结到底该咋选
文档传偷助手:该投就投吧,不过建议别放弃offer 拿到手里的才是最好的
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务