题解 | #句子逆序#

句子逆序

http://www.nowcoder.com/practice/48b3cb4e3c694d9da5526e6255bb73c3

双指针法

alt

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String input=scanner.nextLine();

        int j = input.length() - 1, i = j;
        StringBuilder res = new StringBuilder();

        while(i >= 0) {
            while(i >= 0 && input.charAt(i) != ' ') i--; // 搜索首个空格(直到i=-1,退出while)
            res.append(input.substring(i + 1, j + 1) + " "); // 添加单词  [i+1,j]

            while(i >= 0 && input.charAt(i) == ' ') i--; // 跳过与下一个单词间的 空格(' ')
            j = i; // j 指向下个单词的尾字符
        }

        System.out.println(res.toString());
    }
}

全部评论

相关推荐

10-30 22:18
已编辑
毛坦厂中学 C++
点赞 评论 收藏
分享
努力学习的小绵羊:我反倒觉得这种挺好的,给不到我想要的就别浪费大家时间了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务