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.
可能会忽略末尾为“ ”的情况
法一:
1 public class Solution { 2 public int lengthOfLastWord(String s) { 3 if (s==null || s.length()==0) return 0; 4 s = s.trim(); 5 String[] array = s.split(" "); 6 String res = array[array.length-1]; 7 return res.length(); 8 } 9 }
如果没有第4行,遇到s == " "的情况, s.split()之后会出错
Split 函数Trailing empty strings are not included in the resulting array. The string "boo:and:foo", for example, yields the following results with these expressions:
Regex Result : { "boo", "and", "foo" } o { "b", "", ":and:f" }
法二(推荐方法):
1 public class Solution { 2 public int lengthOfLastWord(String s) { 3 s = s.trim(); 4 int index = s.length()-1; 5 while (index>=0 && s.charAt(index)!=' ') 6 index--; 7 return (s.length()-index-1); 8 } 9 }