美文网首页
58. 最后一个单词的长度

58. 最后一个单词的长度

作者: 六十年目裁判长亚玛萨那度 | 来源:发表于2019-01-08 23:45 被阅读0次

    题目描述:

    给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。
    如果不存在最后一个单词,请返回 0 。
    说明:一个单词是指由字母组成,但不包含任何空格的字符串。

    类型:水

    
    int lengthOfLastWord(char* s) {
        int len = strlen(s);  // 计算长度
        
        int key = len, k = 0;
        len -= 1; 
    
        while (s[len] == ' ') { // 处理尾部空字符
            len -= 1;
        }
    
        while (len > -1) {
            if ((s[len] >= 'a' && s[len] <= 'z') || (s[len] >= 'A' && s[len] <= 'Z')) {  // 切取得最末尾字符
                k += 1;
                len -= 1;
            } else {
                break;
            }
        }
        if (k == 0) {
            return 0;
        } else {
            return key - (key - k); // 找到最后一个字符的起始地址
        }
    }
    

    相关文章

      网友评论

          本文标题:58. 最后一个单词的长度

          本文链接:https://www.haomeiwen.com/subject/rqbirqtx.html