最后一个单词的长度

最后一个单词的长度

题目链接

leetcode

题目描述

给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。

单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。

示例 1:

输入:s = "Hello World"
输出:5

示例 2:

输入:s = " fly me to the moon "
输出:4

示例 3:

输入:s = "luffy is still joyboy"
输出:6

题目解法

描述:根据题目描述,可以从后往前遍历字符串,如果有空格就先去掉空格,没有空格就遍历到遇到空格为止,这样就得到一个单词的起始位置,用最后的位置减去起始位置就是单词的长度

    public static int lengthOfLastWord(String s) {
        int end = s.length() - 1;
        //从后面往前遍历,先去掉空格
        while (end >= 0 && s.charAt(end) == ' ') {
            end--;
        }
        //预防全是空格
        if(end < 0) {
            return 0;
        }
        int start = end;
        //如果不是空格就减一
        while (start >= 0 && s.charAt(start) != ' ') {
            start--;
        }
        //从最后面的数减去最后一个单词的开始位置
        return end - start;
    }
上一篇:精智comfort触摸屏进入不了画面,开机后按start闪退的处理办法


下一篇:python – 如何获得索引的排列?