LeetCode114|翻转字符串中的单词III

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

0x01,问题简述

给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。

0x02,示例

示例:

输入:"Let's take LeetCode contest"
输出:"s'teL ekat edoCteeL tsetnoc"
 

提示:

在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。

 

0x03,题解思路

利用已有的数据结构实现字符串的翻转

0x04,题解程序


public class ReverseWordsTest3 {
    public static void main(String[] args) {
        String str = "Let's take LeetCode contest";
        String reverseWords = reverseWords(str);
        System.out.println("reverseWords = " + reverseWords);
    }

    public static String reverseWords(String s) {
        if (s == null || s.length() == 0) {
            return s;
        }
        String[] strings = s.split(" ");
        StringBuilder stringBuilder = new StringBuilder(s.length());
        for (String s1 : strings
        ) {
            StringBuilder t = new StringBuilder();
            t.append(s1);
            stringBuilder.append(t.reverse().toString());
            stringBuilder.append(" ");
        }
        return stringBuilder.substring(0,stringBuilder.length() - 1);
    }
}

0x05,题解程序图片版

0x06,总结一下

字符串翻转是特别常见的一类题了,各种解决思路,本题也是基于最符合常规逻辑的解法,代码敲一敲,就差不多理解了,这也是为啥一直在说的,代码要多练