LeetCode - 557. 反转字符串中的单词 III

题目

给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。

示例 1:

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

解答

思路:

1.把句子用" "切割为一个数组;
2.分别操作每一个单词;
3.用StringBuilder来存放每一次反转的单词;
4.根据规则加入" ",最后一个单词的后面没有" ";
5.把StringBuilder转换成字符串就是最终的结果。

代码:

 /**
 * 反转一句话中的每一个单词。
 * @param s : 输入的字符串,每一个单词之间用" "分隔。
 * @return : 返回反转后的结果。
 */
public String reverseWords(String s) {
    //先用“ ”把字符串分成一个数组。
    String[] split = s.split(" ");
    int len = split.length;
    StringBuilder sb = new StringBuilder();
    //分别反转每一个单词之后,把结果存到StringBuilder中。
    for (int i = 0; i < len; i++) {
        for (int j = split[i].length() - 1; j >= 0; j--) {
            sb.append(split[i].substring(j, j + 1));
        }
        //每一个单词之间用" "来分隔。
        if (i < len - 1) {
            sb.append(" ");
        }
    }
    return sb.toString();
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容