反转字符串中的单词 III
题目描述
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
示例 :
输入:"Let's take LeetCode contest"
输出:"s'teL ekat edoCteeL tsetnoc"
提示:
- 在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。
解题思路
使用split方法将字符串分割成单词数组,然后使用StringBuilder类的reverse方法将单词反转追加到结果字符串中,注意在每个单词之间加上空格。
复杂度分析
- 时间复杂度:O(n),其中 n 为字符串 s 的长度。
- 空间复杂度:O(n)。
代码实现
class Solution {
public String reverseWords(String s) {
String res = "";
int i = 0;
for (String str : s.split(" ")) {
res += new StringBuilder(str).reverse().toString();
if (++ i < s.split(" ").length) {
res += " ";
}
}
return res;
}
}
网友评论