58. Length of Last Word
🟩 Easy
Given a string s
consisting of words and spaces, return the length of the last word in the string.
A word is a maximal substring
consisting of non-space characters only.
Example 1:
Input: Output: 5 Explanation: Example 2:
Input: Output: 4 Explanation: Example 3:
Input: Output: 6 Explanation:
Constraints:
Example 1
Input: s = "Hello World" Output: 5 Explanation: The last word is "World" with length 5.
Example 2
Input: s = " fly me to the moon " Output: 4 Explanation: The last word is "moon" with length 4.
Example 3
Input: s = "luffy is still joyboy" Output: 6 Explanation: The last word is "joyboy" with length 6.
Constraints
1 <= s.length <= 10^4
s
consists of only English letters and spaces' '
.There will be at least one word in
s
.
Solution
My Solution
func lengthOfLastWord(s string) int {
cnt := 0
existEmpty := false
for _, v := range s {
if v == ' ' {
existEmpty = true
} else {
if existEmpty {
cnt = 0
existEmpty = false
}
cnt++
}
}
return cnt
}
Optimal solution
func lengthOfLastWord(s string) int {
length := 0
i := len(s) - 1
// Ignore trailing spaces
for i >= 0 && s[i] == ' ' {
i--
}
// Count the length of the last word
for i >= 0 && s[i] != ' ' {
length++
i--
}
return length
}

Leetcode: link
Last updated
Was this helpful?