LeetCode题解——58. 最后一个单词的长度

2020-10-30 14:43发布

题目

给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 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

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。