58. Length of Last Word
1. Description
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.
2. Example
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.
3. Constraints
- 1 <= s.length <= $10^4$
- s consists of only English letters and spaces ' ‘.
- There will be at least one word in s.
4. Solutions
Two Pointers
n = str.size()
Time complexity: O(n)
Space complexity: O(1)
class Solution {
public:
int lengthOfLastWord(const string &str) {
int right = str.size() - 1;
while (str[right] == ' ') {
--right;
}
int left = right;
while (left >= 0 && str[left] != ' ') {
--left;
}
return right - left;
}
};