LeetCode58. 最后一个单词的长度Golang版
给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
2. 思路
- 从后向前,找到最后一个单词,最后一个字母的下标
- 从最后一个单词下标,向前,找到最后一个单词第一个字母的下标
3. 代码
func lengthOfLastWord(s string) int {
var lastIndex int
var firstIndex int
// 找到最后一个单词最后一个字母的索引下标
for i := len(s)-1; i >= 0; i-- {
if s[i] != ' ' {
lastIndex = i
break
}
}
// 找到最后一个单词开头字母的索引下表
for i := lastIndex; i >= 0; i-- {
if s[i] == ' ' {
firstIndex = i + 1
break
}
}
if lastIndex == 0 && firstIndex == 0 && s[0] == ' '{
return 0
}
return lastIndex-firstIndex+1
}