题目描述

最近来了一个新员工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
}

本文由 一切随风 创作,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论