leetcode557反转字符串中的单词III

leetcode 557 Reverse Words in a String III

Posted by BY on August 30, 2020

前言

持续更新了

正文

问题来源

本问题来自leetcode上的557题。

问题描述

给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。

示例 1:

输入:"Let's take LeetCode contest"
输出:"s'teL ekat edoCteeL tsetnoc"

分析:

func reverseWords(s string) string {
    length := len(s)
    ret := []byte{}
    for i := 0; i < length; {
        start := i
        for i < length && s[i] != ' ' {
            i++
        }
        for p := start; p < i; p++ {
            ret = append(ret, s[start + i - 1 - p])
        }
        for i < length && s[i] == ' ' {
            i++
            ret = append(ret, ' ')
        }
    }
    return string(ret)
}

总结:

勤思考。

结语

不管怎么样好好加油。