题目描述
- 给定一个字符串 s ,需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
example
input : s = "Let's take LeetCode contest"
output : "s'teL ekat edoCteeL tsetnoc"
解题思路
- 把原字符串按空格分割为多个字符串
- 借助StringBuilder的reverse()方法实现所有子字符串的反转
- 然后把每个反转后的字符串拼接到一起,拼接时需注意添加空格
- 返回拼接结果即可。
代码(Java)
public class Solution {
public String reverseWords(String s) {
String[] strs = s.split(" ");
StringBuilder sb = new StringBuilder("");
for (int i = 0; i < strs.length; i++) {
StringBuilder t = new StringBuilder(strs[i]);
sb.append(t.reverse().append(" "));
}
// 循环得到的结果,末尾会多出一个空格,所以返回的结果需要把它截取掉
return sb.substring(0, s.length());
}
}
本文作者:
whtli
本文链接: https://hexo.whtli.cn/archives/80dc4c6a.html
版权声明: 遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
本文链接: https://hexo.whtli.cn/archives/80dc4c6a.html
版权声明: 遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。