Length of Last Word leetocde java

愛做飯的小瑩子發表於2014-07-28

題目:

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.

 

題解:

 這道題主要是考慮一下最後是不是空格,方法是倒著找不是空格的字元並計數,如果遇到空格且計數不是0,說明最後一個單詞已經被計數了,所以可以返回了。

 

程式碼如下:

 1     public int lengthOfLastWord(String s) {
 2          if (s == null || s.length() == 0)  
 3             return 0;  
 4          
 5         int len = s.length();  
 6         int count = 0;  
 7         for (int i = len - 1; i >= 0; i--) {  
 8             if (s.charAt(i) != ' ') {  
 9                 count++;  
10             }  
11             if(s.charAt(i)==' '&&count != 0){  
12                 return count;  
13             }  
14         }  
15         return count;  
16     }

 當然這道題也能用投機取巧的方法,用split函式把字串按照空格分隔好,返回最後那個就行。。。

程式碼如下:

1     public int lengthOfLastWord(String s) {
2         String[] a = s.split(" ");
3         if(a == null || a.length == 0)
4             return 0;
5 
6         return a[a.length-1].length();
7     }

 

相關文章