单词逆序问题​,栈实现

单词逆序

http://www.nowcoder.com/questionTerminal/ef2a0e61f17243f2a0124e8e6c09eb68

思路:最简单的就是利用栈的FILO的特性,当然也可以用数组,但思路就没这么清晰明了了
  1. 先利用spilt()函数将字符串按单词拆分
  2. 再将拆分的结构压进栈
  3. 最后出栈,拼接一下即可
代码:
package 瓜子;

import java.util.Scanner;
import java.util.Stack;

//单词逆序问题
public class Main1 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.nextLine();
        s = reverse(s);
        System.out.println(s);
    }

    public static String reverse(String s) {
        //辅助栈
        Stack stack = new Stack();
        //按单词拆分字符串
        String[] ss = s.split(" ");
        for (int i = 0; i < ss.length; i++) {
            stack.push(ss[i]);
        }
        //出栈以及字符串拼接,注意这里不要用String和"+",因为"+"会消耗大量时间和资源
        StringBuffer sb = new StringBuffer();
        while (!stack.isEmpty()) {
            sb.append(stack.pop()+" ");
        }
        return sb.toString();
    }

}


全部评论

相关推荐

头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
牛客38347925...:9,2学生暑期实习失利开始投小厂,给这群人整自信了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-04 18:02
好不容易拿到了字节Offer,鼠鼠做后端的,但家里人觉得可能被裁员不稳定,让鼠鼠去投国企,现在好纠结到底该咋选
文档传偷助手:该投就投吧,不过建议别放弃offer 拿到手里的才是最好的
投递字节跳动等公司8个岗位
点赞 评论 收藏
分享
评论
13
收藏
分享

创作者周榜

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