问题描述:将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”
所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符
接口说明
/**
* 反转句子
*
*@param sentence 原句子
*@return 反转后的句子
*/
public String reverse(String sentence);
代码:
package com.huawei;
public class StringReverse {
//方法一
public static String reverse1(String sentence){
String[] strArr = sentence.split(" ");
StringBuffer sb = new StringBuffer();
for (int i = 0; i < strArr.length; i++) {
int len = strArr.length;
sb.append(strArr[len-1-i]);
if(i < strArr.length-1){
sb.append(" ");
}
}
return sb.toString();
}
//方法二
public static String reverse2(String sentence){
String[] strArr = sentence.split(" ");
StringBuffer sb = new StringBuffer();
for (int i = 0; i < strArr.length; i++) {
int len = strArr.length;
sb.append(strArr[len-1-i]);
sb.append(" ");
}
return sb.toString().substring(0, sentence.length());
}
public static void main(String[] args){
System.out.println(reverse1("I am a boy"));
System.out.println(reverse1("I am a boy").length());
System.out.println(reverse2("I am a boy"));
System.out.println(reverse2("I am a boy").length());
}
}
运行结果: