Sunday, July 20, 2014

Length of Last Word

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.
Solution:
One pointer points to the end of string, then loop from right to left.
Run time complexity is O(n), constant space.
public class Solution {
    public int lengthOfLastWord(String s) {
        if(s == null || s.length() == 0)
            return 0;
        
        s = s.trim();  //get rid of space at beginning and end
        int count = 0;
        for(int i = s.length() - 1; i >= 0; i--) {
            if(s.charAt(i) != ' ') {
                count++;
            }else {
                return count;
            }
        }
        return count;
    }
}

No comments:

Post a Comment