变成问题中经常涉及到对字符串的各种变换操作,包括最长连续子串、字符串匹配、字符串排序、字符串转换、使用字符串解决大数问题等等。本问题实现对一个任意只含字母的字符串的逆序排列,不过要求只是各个单词(连续字符被认为是一个单词)间的逆序,而单词内部并不逆序,同时实现大小写转换。例如:对于字符串“Hello word IS A keng ”逆序后结果为“ KENG a is WORD hELLO”。
代码
import java.util.Scanner;
publicclassFindKth {publicstatic String trans(String s, int n) {
// write code here
Scanner sc=new Scanner(System.in);
if(n==0||s.length()==0)returnnull;
else{
StringBuilder s1 = new StringBuilder();//reverse word
StringBuilder result = new StringBuilder();//reverse allchar str[]=newchar[n];//find the character one by one
str=s.toCharArray();
int i=0;
for(;i<n;){
while(i<n&&str[i]!=' '){
if(Character.isUpperCase(str[i])){
str[i]=Character.toLowerCase(str[i]);
s1.append(str[i]);
}
else{
str[i]=Character.toUpperCase(str[i]);
s1.append(str[i]);
}
i++;
}
result.insert(0, s1);
s1.setLength(0);
while (i<n&&str[i]==' ') {//note the space
result.insert(0, str, i, 1);
i++;
}
}
return result.toString();
}
}
publicstaticvoidmain(String[]args){
String s="Hello word IS A keng ";
int n=s.length();
System.out.println(trans(s,n));
}
}
问题描述:变成问题中经常涉及到对字符串的各种变换操作,包括最长连续子串、字符串匹配、字符串转换、使用字符串解决大数问题等等。本问题实现对一个任意只含字母的字符串的逆序排列,不过要求只是各个单词(连续字符被认为是一个单词)间的逆序,而单词内部并不逆序,同时实现大小写转换。例如:对于字符串“Hello word IS A keng ”逆序后结果为“ KENG a is WORD