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
.
Java:
不知正则表达式行不行
public class Solution {
public int lengthOfLastWord(String s) {
if(s==null||s.length()==0)return 0;
s=s.trim();
String[] strArray=s.split("\\s+");// split according to whitespace
return strArray[strArray.length-1].length();
}
}
Reference:
1. CodeGanker:
public class Solution {
public int lengthOfLastWord(String s) {
if(s==null||s.length()==0)return 0;
int p1=s.length()-1;
while(p1>=0&&s.charAt(p1)==' ') p1--;//这一步是去掉末尾的空格
int p2=p1;
while(p2>=0&&s.charAt(p2)!=' ') p2--;
return p1-p2;
}
}
2.http://blog.youkuaiyun.com/yiding_he/article/details/18731023
public class Solution {
public int lengthOfLastWord(String s) {
if(s==null||s.length()==0)return 0;
int count=0;
for(int i=s.length()-1;i>=0;i--)
{
if(s.charAt(i)!=' ') count++;
if(s.charAt(i)==' '&&count>0) return count;
}
return count;
}
}