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
.
解题思路:
方法一:
这道题主要是考虑一下最后是不是空格,方法是倒着找不是空格的字符并计数。这个速度最快。
方法二:
用split函数把字符串按照空格分隔好,返回最后那个就行。这个比较慢。
Java code:
Method1:
public int lengthOfLastWord(String s) { if(s == null || s.length() < 1) { return 0; } s = s.trim(); if(s.length()==0) { return 0; } int result = 0; for(int i=s.length()-1; i>=0; i--) { if(s.charAt(i) != ' ') { result +=1; }else { break; } } return result; }
Method2: use split
public int lengthOfLastWord(String s) { if(s==null || s.length() < 1) { return 0; } String[] temp = s.split(" "); if(temp.length == 0) { return 0; } return temp[temp.length-1].length(); }
Reference:
1. http://www.cnblogs.com/springfor/p/3872326.html