Saturday, January 10, 2015

Length of Last Word (LeetCode String)

Question: 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.

Idea: Trim the string first. Then from the end to the start of the string, count the number of adjacent non-space characters. Break the loop when a space shows up, return the counter.

Time: O(n) Space: O(1)

Code:
 public class Solution {  
   public int lengthOfLastWord(String s) {  
     int result=0;  
     s=s.trim();  
     for(int i=s.length()-1;i>=0;i--)  
     {  
       if(s.charAt(i)!=' ')  
       {  
         result++;  
       }  
       else  
       {  
         break;  
       }  
     }  
     return result;  
   }  
 }  

No comments:

Post a Comment