描述
对于一个长度为 n 字符串,我们需要对它做一些变形。首先这个字符串中包含着一些空格,就像"Hello World"一样,然后我们要做的是把这个字符串中由空格隔开的单词反序,同时反转每个字符的大小写。比如"Hello World"变形后就变成了"wORLD hELLO"。
解题思路:
可以先根据空格把字符串转为数组,然后将数组倒叙组装,再反转其大小写
public String trans(String s, int n) {
String[] strArray = s.split(" ", -1);
StringBuilder strbuild = new StringBuilder();
for (int i = strArray.length - 1; i >= 0; i--) {
strbuild.append(reverse(strArray[i])); //数组转换为字符串
//最后一个字符串后面不再附加空格
if(i==0) {
break;
}
//字符串之间附加空格
strbuild.append(" ");
}
return strbuild.toString();
}
//大小写转换
private String reverse(String s){
StringBuilder res= new StringBuilder();
for(char ch:s.toCharArray()){
if(Character.isLowerCase(ch)){
res.append(Character.toUpperCase(ch));
continue;
}
if(Character.isUpperCase(ch)){
res.append(Character.toLowerCase(ch));
continue;
}
}
return res.toString();
}
|