【leetcode557】反转字符串中的单词 III Java题解

【leetcode分类下所有的题解均为作者本人经过权衡后挑选出的题解,在易读和可维护性上有优势
每题只有一个答案,避免掉了太繁琐的以及不实用的方案,所以不一定是最优解】

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

示例 1:

输入: “Let’s take LeetCode contest”
输出: “s’teL ekat edoCteeL tsetnoc”

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

class Solution {
    public String reverseWords(String s) {
        StringBuilder res = new StringBuilder();
        String[] strs = s.split(" ");
        for(int i = 0; i < strs.length; i++){
            if(strs[i].length() > 0){
                res.append(new StringBuilder(strs[i]).reverse());
                res.append(" ");
            }
        }
        return res.toString().trim();
    }
}

思路:

  • 本题和翻转字符串里的单词类似,只不过每次还需要将每个单词的字母顺序都翻转
  • 先将这个单词new出来,得到stringbuilder对象,再调用reverse方法,再append到res里

猜你喜欢

转载自blog.csdn.net/weixin_43046082/article/details/89034333