58. Length of Last Word #
Problem #
Given a string s consisting of some words separated by some number of 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: 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 <= 104sconsists of only English letters and spaces' '.- There will be at least one word in
s.
Problem Summary #
Given a string s consisting of several words, with some space characters separating the words before and after. Return the length of the last word in the string. A word refers to a maximal substring consisting only of letters and containing no space characters.
Solution Approach #
- First filter out spaces from the end to find the end of the word, then traverse backward from the end to find the beginning of the word. Finally, subtract the two positions to get the length of the word.
Code #
package leetcode
func lengthOfLastWord(s string) int {
last := len(s) - 1
for last >= 0 && s[last] == ' ' {
last--
}
if last < 0 {
return 0
}
first := last
for first >= 0 && s[first] != ' ' {
first--
}
return last - first
}