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 して終了