最后一个单词的长度

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

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

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/length-of-last-word
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。


 

 

思路:

1.先统计字符串中最后一个单词的位置;
2.然后从这个位置往前遍历,直到找到空格为止;
3.最后返回空格和单词结束位置之间的长度差即可。

使用C++

class Solution {
public:
    int lengthOfLastWord(string s) {
        int end = s.length() - 1;

        // 去除字符串末尾的空格
        while (end >= 0 && s[end] == ' ') {
            end--;
        }

        // 计算最后一个单词的结束位置
        int start = end;
        while (start >= 0 && s[start] != ' ') {
            start--;
        }

        // 返回最后一个单词的长度
        return end - start;
    }
};

  

使用C语言

int lengthOfLastWord(char * s){
    int end = strlen(s) - 1;

    // 去除字符串末尾的空格
    while (end >= 0 && s[end] == ' ') {
        end--;
    }

    // 计算最后一个单词的结束位置
    int start = end;
    while (start >= 0 && s[start] != ' ') {
        start--;
    }

    // 返回最后一个单词的长度
    return end - start;
}

  

 

posted @ 2023-06-03 13:48  颖风船  阅读(11)  评论(0编辑  收藏  举报