Skip to content
This repository was archived by the owner on Aug 14, 2024. It is now read-only.

Files

Latest commit

 

History

History
50 lines (39 loc) · 1.22 KB

58.md

File metadata and controls

50 lines (39 loc) · 1.22 KB

58. Length of Last Word

Description

Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word in the string.

If the last word does not exist, return 0.

Note: A word is defined as a character sequence consists of non-space characters only.

For example, Given s = "Hello World", return 5.

Thinking Process

  1. This is a trivial question
  2. Scan from the back of the list, keep a boolean value indicating if the count has start
  3. End the loop if we see another ' ' after the count has started

Code

public class Solution {
    public int lengthOfLastWord(String s) {
        int len = 0;
        boolean startCounting = false;
        for(int i = s.length() - 1; i >=0 ; i--){
            if(startCounting){
                if(s.charAt(i) == ' ')
                    return len;
                else
                    len++;
            }else{
                if(s.charAt(i) == ' ')
                    continue;
                else{
                    startCounting = true;
                    len++;
                }
            }
        }
        return len;
    }
}

Complexity

  1. O(n) time complexity as the string is scanned once