题目
给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指由字母组成,但不包含任何空格的字符串。
示例
示例:
输入: “Hello World”
输出: 5
思路
用双指针法能很好的解决这个问题,首先我们可以对字符串进行处理,将字符串两侧的空格去掉,就会少去很多条件,剩下两种情况,一种字符串中只有一个单词,另外一种就是最后一个单词前有一个空格,所以在使用双指针时,指向最后一个空格的指针初始值要赋值为-1,代码如下:
public int lengthOfLastWord(String s) {
if (s == null){
return 0;
}
s=s.trim();
if (s.length() == 0){
return 0;
}
int i=-1,j=0;
while (true){
while (j <s.length() && s.charAt(j) != ' '){
j++;
}
if (j >= s.length()){
break;
}
i=j++;
}
return j-i-1;
}
作者:suye233
链接:https://blog.csdn.net/hackersuye/article/details/100893109
来源:CSDN
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。