0058-length-of-last-word

Try it on leetcode

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.

 

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 <= 104
  • s consists of only English letters and spaces ' '.
  • There will be at least one word in s.

Solution(Python)

class Solution:
    def lengthOfLastWord(self, s: str) -> int:
        # read from back of the string until char == whitespace  s[i] == whitespace
        # start ounting run loop until we reach spaces[i] != whitespace
        n = len(s)
        i = n - 1
        if n == 1:
            return 1

        while i >= 0 and s[i] == ' ':
            i -= 1
        j = i
        while i >= 0 and s[i] != ' ':
            i -= 1

        return j - i