题目描述
给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指由字母组成,但不包含任何空格的字符串
示例
输入: "Hello World"
输出: 5
代码
class Solution {
public int lengthOfLastWord(String s) {
String[] split = s.trim().split(" ");
return split[split.length-1].length();
}
}
反思
如果使用语言高级特性特有函数这道题就没什么意义了(如Java的trim())。有时候使用开关变量flag会有一种很微妙的感觉。下面是第二种解法
class Solution {
public int lengthOfLastWord(String s) {
int count = 0;
boolean flag = false;
for(int i = s.length()-1; i >= 0; i--){
if(s.charAt(i)!=' ') flag = true;
if(flag&&s.charAt(i)==' ') break;
if(flag) count++;
}
return count;
}
}