- 我的思路,从后面开始,每次拿一个字符,判断是不是字母,如果是num++;不是就index–;找到字母后,如果字母的下一位是“ ”(空格) 就return num;
public int lengthOfLastWord(String s) {
String letter="qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM";
int index=s.length()-1;
int num=0;
while(index>0)
{
if(letter.contains(s.substring(index,index+1)))
{
num++;
if(s.substring(index-1,index).equals(" "))
return num;
}
index--;
}
if(index==0&&letter.contains(s.substring(index,index+1)))
num++;
return num;
}
速度有点慢,于是就进行了改良,思路是一样的;
public int lengthOfLastWord(String s) {
int index=s.length()-1;
int num=0;
while(index>0)
{
if(s.charAt(index)!=' ')
{
num++;
if(s.charAt(index-1)==' ')
return num;
}
index--;
}
if(index==0&&s.charAt(index)!=' ')
num++;
return num;
}
end~
谢谢!