题目描述
最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“nowcoder. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a nowcoder.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?
数据范围:1≤n≤100
进阶:空间复杂度 O(n),时间复杂度 O(n),保证没有只包含空格的字符串
示例
// 输入:
"nowcoder. a am I"
// 输出:
"I am a nowcoder."
// 输入:
""
// 输出:
""
解题思路
- 遍历字符串,将整个字符串按照空格分割然后入栈。
- 遍历栈,将栈中内容弹出拼接成字符串。
代码实现
/**
* [JZ73-简单] 翻转单词序列
*
*
* @param str string 字符串
* @return string 字符串
*/
func reverseSentence(str string) string {
strArr := strings.Split(str, " ")
result := ""
for i := len(strArr) - 1; i >= 0; i-- {
result += strArr[i]
if i > 0 {
result += " "
}
}
return result
}
还不快抢沙发