LeetCode30|翻转单词顺序

时间:2022-07-23
本文章向大家介绍LeetCode30|翻转单词顺序,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1,问题简述

输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. ",则输出"student. a am I"。

2,示例

输入: "the sky is blue"
输出: "blue is sky the"

3,题解思路

从后向前统计每个单词,进行数据的加载

4,题解程序

 
public class ReverseWordsTest {
    public static void main(String[] args) {
        String str = "the sky is blue";
        String reverseWords = reverseWords(str);
        System.out.println("reverseWords = " + reverseWords);
    }

    public static String reverseWords(String s) {
        if (s == null || s.length() == 0) {
            return s;
        }
        String[] results = s.split(" ");
        int length = results.length;
        StringBuilder stringBuilder = new StringBuilder(length);
        for (int i = length - 1; i >= 0; i--) {
            if (!results[i].equals("")) {
                stringBuilder.append(results[i]);
                stringBuilder.append(" ");
            }
        }
        return stringBuilder.toString().trim();
    }
}

5,题解程序图片版

6,总结

其实输入不难,难得是输出,输出内容是对自我总结的一部分吧,回顾前几年的内容,内心输入的东西太多了,所以自从去年开始自己就慢慢输出了,中间确实想过放弃,但是放弃就意味着前期做的所有内容都失效了,自己也说过,既然形成了自己独有的文章输出风格,再谈放弃,岂不是可惜,坚持到了现在,不刻意输出内容就行了,有时间输出输出也好,至少做到不刻意去输出内容就行了,这就是前段时间放慢自己输出内容的一点感触,至少心中可以做到慢慢输出了,回过头想想过去每日或者每周都频繁更新文章的我来说,目前可以做到输出内容的一点淡然了,找好自己的方向,慢慢跑吧,这就是我,与过去不同的我。