题目描述
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. ",则输出"student. a am I"。
思路
1.首先将原字符串根据“ ”进行分割,将分割后的数组倒序相加,中间用“ ”分割。
2.最后将最终的字符串尾部多余的“ ”去掉。
Java代码实现
class Solution { public String reverseWords(String s) { String[] words = s.split(" "); String res = ""; for (int i = words.length-1; i >= 0; i--) { if("".equals(words[i])){ continue; } res = res + words[i] + " "; } return res.trim(); } }
Golang代码实现
func reverseWords(s string) string { words := strings.Split(s," ") res := "" for i:=len(words)-1; i>=0; i-- { if words[i] == ""{ continue } res = res + words[i] + " " } res = strings.Trim(res," ") return res }