剑指offer_【44】翻转单词顺序列

1.题目描述

牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?

2.解题思路

用str.split(“ ”) 去切分子字符串变成str[],然后再拼接。

3.代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Solution {
public String ReverseSentence(String str) {
if(str == null){ return null;}
//去掉前后空格,避免输入字符串全是空格情况,保证后面的split切分正确

if(str.trim().equals("")){
return str;
}
String res[] = str.split(" ");
StringBuilder ss = new StringBuilder();
//第二个到最后一个数组值后面要加“ ”

for(int i = res.length-1;i>0;i--){
ss.append(res[i]+" ");
}
//第一个就是数组末尾了不需要加“ ”,保持反转后的数组长度跟原来一样

ss.append(res[0]);
return ss.toString();
}
}
文章目录
  1. 1. 1.题目描述
  2. 2. 2.解题思路
  3. 3. 3.代码
| 139.6k