版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
/*题目 * 翻转字符串,字符串中的单词不翻转,单词以空格隔开 * I love you => you love I */ /*思路 * 先反转整个字符串,再将单词反转 * 易混淆知识点:length为数组方法,length()为String方法 * */
public String ReverseSentence(String str){
if(str == null || str.length() ==0)
return str;
if(str.trim().length() == 0)
return str;
StringBuilder sb = new StringBuilder();
String re = reverse(str); //反转整个字符串
String[] strs = re.split(" "); //分割字符串
for(int i = 0 ; i < strs.length-1 ; i++){ //拼接时,最后一个单词不能加空格,需要特殊处理
sb.append(reverse(strs[i]) + " ");
}
sb.append(reverse(strs[strs.length-1]));
return String.valueOf(sb);
}
public String reverse(String str){
StringBuilder sb = new StringBuilder();
for (int i = str.length()-1; i >= 0; i--){
sb.append(str.charAt(i));
}
return String.valueOf(sb);
}