题目:字符串变形
思路:
从后往前遍历字符串:
- 遇到字符,把它大小写转变后插到一个
StringBuilder
的头部,实现单词序不变; - 遇到空格,说明一个单词被找到了,把存单词的
StringBuilder
和遇到的空格加入结果集,清空该缓存。
代码:
import java.util.*;
public class Solution {
public String trans(String s, int n) {
// write code here
char[] arr = s.toCharArray();
StringBuilder res = new StringBuilder();
StringBuilder temp = new StringBuilder();
for (int i = n - 1; i >= 0; i --) {
if (arr[i] == ' ') {
res.append(temp.toString() + " ");
temp.delete(0, temp.length());
}
else {
if (arr[i] >= 'a' && arr[i] <= 'z') {
temp.insert(0, Character.toUpperCase(arr[i]));
}
else if (arr[i] >= 'A' && arr[i] <= 'Z') {
temp.insert(0, Character.toLowerCase(arr[i]));
}
}
}
return res.append(temp.toString()).toString();
}
}