您的位置:首页 > 其它

字符串逆序排列

2016-05-03 09:34 417 查看

问题描述:

变成问题中经常涉及到对字符串的各种变换操作,包括最长连续子串、字符串匹配、字符串排序、字符串转换、使用字符串解决大数问题等等。本问题实现对一个任意只含字母的字符串的逆序排列,不过要求只是各个单词(连续字符被认为是一个单词)间的逆序,而单词内部并不逆序,同时实现大小写转换。例如:对于字符串“Hello word IS A keng ”逆序后结果为“ KENG a is WORD hELLO”。

代码

import java.util.Scanner;
public class FindKth {
public static String trans(String s, int n) {
// write code here
Scanner sc=new Scanner(System.in);
if(n==0||s.length()==0)return null;
else{
StringBuilder s1 = new StringBuilder();//reverse word
StringBuilder result = new StringBuilder();//reverse all
char str[]=new char
;//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();
}
}
public static void main(String[]args){
String s="Hello     word   IS A keng   ";
int n=s.length();
System.out.println(trans(s,n));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  字符串逆序