对于java而言,String是不可变字符数组,所以无法避免空间的开销
class Solution {
public String reverseWords(String s) {
StringBuffer ret = new StringBuffer();
int length = s.length();
int i = 0;
while (i < length) {
int start = i;
while (i < length && s.charAt(i) != ' ') {
i++;
}
for (int p = start; p < i; p++) {
//append()是往动态字符串数组添加
ret.append(s.charAt(start + i - 1 - p));
}
while (i < length && s.charAt(i) == ' ') {
i++;
ret.append(' ');
}
}
return ret.toString();
}
}
Java中字符串反转单词技巧:空间效率优化实现
本文介绍了一种在Java中使用StringBuilder优化字符串反转操作,特别是针对单词顺序的处理,以减少空间开销的解决方案。通过while循环和charAt方法,实现高效地逐个反转单词并保持空格的处理。
793

被折叠的 条评论
为什么被折叠?



