[Golang]力扣Leetcode - 434. 字符串中的单词数(原地法)
题目:统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。
请注意,你可以假定字符串里不包括任何不可打印的字符。
链接: 力扣Leetcode - 434. 字符串中的单词数.
示例1:
输入:“Hello, my name is John”
输出:5
解释:这里的单词是指连续的不是空格的字符,所以 “Hello,” 算作 1 个单词。
思路: 遍历字符串,若当前下标之前为空格(或者为初始下标),且自身不为空格,则其为单词开始的下标。
Go代码:
package main
import "fmt"
func countSegments(s string) int {
n := len(s)
var sum int
for i := 0; i < n; i++ {
if (i == 0 || s[i-1] == ' ') && s[i] != ' ' {
sum++
}
}
return sum
}
func main() {
fmt.Println(countSegments("Hello, my name is John"))
}
提交截图: