58. Length of Last Word
1. Description
Given a string s consists of some words separated by spaces, return the length of the last word in the string. If the last word does not exist, return 0.
A word is a maximal substring consisting of non-space characters only.
2. Example
Example 1:
Input: s = “Hello World”
Output: 5
Example 2:
Input: s = " "
Output: 0
3. Constraints
- 1 <= s.length <= $10^4$
- s consists of only English letters and spaces ' ‘.
4. Solutions
Reverse Iteration
n = str.size()
Time complexity: O(n)
Space complexity: O(1)
class Solution {
public:
int lengthOfLastWord(const string &str) {
int last_letter_index = str.size() - 1;
while (str[last_letter_index] == ' ') {
--last_letter_index;
}
int first_letter_index = last_letter_index;
while (first_letter_index >= 0 && str[first_letter_index] != ' ') {
--first_letter_index;
}
return last_letter_index - first_letter_index;
}
};