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;
    }
};
Last updated:
Tags: String
comments powered by Disqus