Leetcode Note: Go - Reverse Words in a String III

Reverse Words in a String III - LeetCode
https://leetcode.com/problems/reverse-words-in-a-string-iii/

  • Go 言語で取り組んだメモ

所感

  • string s で渡される文字列から word 単位で反転を行い、結果の string を return する

回答

Reverse Words in a String III - LeetCode
https://leetcode.com/problems/reverse-words-in-a-string-iii/solution/

Go / Golang | Two easy-to-understand solutions. - LeetCode Discuss
https://leetcode.com/problems/reverse-words-in-a-string-iii/discuss/1994142/Go-Golang-or-Two-easy-to-understand-solutions.

func reverseWords(s string) string {
	var res string
	var word string
	for _, char := range strings.Split(s, "") {
		if char != " " {
			word = char + word
		} else {
			res += word + char
			word = ""
		}
	}
	return res + word
}
  • for loop: string.Split で文字毎に処理
    • 文字が非スペースなら
      • word = char + word: word の前方に文字を足す。これで反転文字列を作っていく
    • 文字がスペースなら
      • res += word + char: return する res 変数に word と char を追加して、最終的な文字列を成形していく
      • word = "": word 変数をリセット
  • res + word を return して終了