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.
- Example:
Input: “Hello World”
Output: 5
解法一
要注意先要除去s末端的空字符
public int lengthOfLastWord(String s) {
if(s==null||s.length()==0)
return 0;
int right=s.length()-1,res=0;
while(right>=0&&s.charAt(right)==' ')
right--;
while(right>=0&&s.charAt(right)!=' ')
{
right--;
res++;
}
return res;
}
Runtime: 2 ms, faster than 100.00% of Java online submissions for Length of Last Word.
Memory Usage: 37.3 MB, less than 18.99% of Java online submissions for Length of Last Word.
解法二
利用字符串自带方法,一行代码即可解决问题
public int lengthOfLastWord(String s){
return s.trim().length()-s.trim().lastIndexOf(" ")-1;
}
Runtime: 2 ms, faster than 100.00% of Java online submissions for Length of Last Word.
Memory Usage: 37.4 MB, less than 14.19% of Java online submissions for Length of Last Word.
這道题要注意的是要除掉字符串末尾的空字符再计算,一开始以为 末尾是空字符的话就返回0所以一直通不过