題目
給定一個(gè)字符串管怠,你需要反轉(zhuǎn)字符串中每個(gè)單詞的字符順序袭祟,同時(shí)仍保留空格和單詞的初始順序。
注意:在字符串中捂贿,每個(gè)單詞由單個(gè)空格分隔纠修,并且字符串中不會(huì)有任何額外的空格。
示例 1:
輸入: "Let's take LeetCode contest"
輸出: "s'teL ekat edoCteeL tsetnoc"
解答
思路:
1.把句子用" "切割為一個(gè)數(shù)組厂僧;
2.分別操作每一個(gè)單詞扣草;
3.用StringBuilder來存放每一次反轉(zhuǎn)的單詞;
4.根據(jù)規(guī)則加入" ",最后一個(gè)單詞的后面沒有" ";
5.把StringBuilder轉(zhuǎn)換成字符串就是最終的結(jié)果。
代碼:
/**
* 反轉(zhuǎn)一句話中的每一個(gè)單詞辰妙。
* @param s : 輸入的字符串鹰祸,每一個(gè)單詞之間用" "分隔。
* @return : 返回反轉(zhuǎn)后的結(jié)果密浑。
*/
public String reverseWords(String s) {
//先用“ ”把字符串分成一個(gè)數(shù)組蛙婴。
String[] split = s.split(" ");
int len = split.length;
StringBuilder sb = new StringBuilder();
//分別反轉(zhuǎn)每一個(gè)單詞之后,把結(jié)果存到StringBuilder中尔破。
for (int i = 0; i < len; i++) {
for (int j = split[i].length() - 1; j >= 0; j--) {
sb.append(split[i].substring(j, j + 1));
}
//每一個(gè)單詞之間用" "來分隔街图。
if (i < len - 1) {
sb.append(" ");
}
}
return sb.toString();
}