题目
给定一个字符串, 包含大小写字母、空格’ ‘,请返回其最后一个单词的长>度。
如果不存在最后一个单词,请返回 0 。
注意事项
一个单词的界定是,由字母组成,但不包含任何的空格。
样例
1.给定 s = “Hello World”,返回 5。
2.给定 s = “Hello World “,返回 5。(有空格)
3.给定 s = “=”World “,返回 5。
4.给定 s = “”,返回 0。
解法
public class Solution {
/**
* @param s A string
* @return the length of last word
*/
public int lengthOfLastWord(String s) {
// Write your code here
s = s.trim();//清除字符串首位空格,样例2
int length = s.length();
char[] chars = s.toCharArray();
for (int i = length - 1;i >= 0; i--){
//从后往前遍历,如果碰到空格则返回
if (Character.isSpaceChar(chars[i])){
return length - 1 - i;
}
//样例3,没有空格的情况
if (i == 0){
return length;
}
}
//样例4
return 0;
}
}