问题描述:
给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。
说明:一个单词是指由字母组成,但不包含任何空格的字符串。
示例:
输入: “Hello World”
输出: 5
算法思路:
首先通过trim()方法将字符串s的首尾空格去掉,然后从后向前判断字符串的的字符是否为空格,若不是,计数变量加1,否则跳出循环并返回计数结果。
代码实现(Java):
class Solution {
public int lengthOfLastWord(String s) {
String s1 = s.trim();
if(s1.length() == 0){
return 0;
}else{
int i = s1.length() - 1;
int num = 0;
while(s1.charAt(i) != ' '){
num++;
i--;
if(i == -1){
break;
}
}
return num;
}
}
}
复杂度分析:
时间复杂度:O(n)
空间复杂度:O(1)
执行用时:5 ms
要点总结:
- Java中对象和对象的引用
- Java trim() 方法
trim() 方法用于删除字符串的头尾空白符。