题目:
给定一个仅包含大小写字母和空格 ’ ’ 的字符串 s,返回其最后一个单词的长度。
如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指仅由字母组成、不包含任何空格的 最大子字符串。
方法一:
通过trim()方法去除前后空格,然后从字符串尾部找到第一个空格出现位置,从空格的下一位置开始计数,计算出最后一个单词的长度
class Solution {
public int lengthOfLastWord(String s) {
s=s.trim();
int location=s.lastIndexOf(" ")+1;
return s.substring(location).length();
}
}
方法二:
通过while循环将空格过滤掉,然后计算最后一个单词字母的个数
class Solution {
public int lengthOfLastWord(String s) {
int len=s.length()-1;
while(len>=0&&s.charAt(len)==' '){
len--;
}
int count=0;
for(int i=len;i>=0;i--){
if(s.charAt(i)==' '){
break;
}else{
count++;
}
}
return count;
}
}