力扣-58. 最后一个单词的长度

复制代码
int lengthOfLastWord(char* s) 
{
    char* temp = s;
    char* ret = s;

    int count = 0;/*返回的长度*/
    while (*temp)
    {
        /*只记录空格后是字母的地址*/
        if ((*temp == ' ') && (*(temp + 1) != '\0') && (*(temp + 1) != ' '))
        {
            ret = temp + 1;
        }
        temp++;
    }

    while (*ret)
    {
        if (isalpha(*ret) != 0)/*判断空格后的字符串中函数字符的个数*/
        {
            count++;
        }
        else
        {
            break;
        }
        ret++;
    }

    return count;
}

思路:

1.当空格后是字母时,记录首字母的地址。如果多个空格连续以及空格后边就是结束符'\0'的情况时,不要记录地址。

2.拿到记录的地址后,遍历地址后边的字符串,记录字母的个数。不要使用strlen函数进行求解个数,因为会把后边空格也计算上。

相关推荐
进击的荆棘10 分钟前
优选算法——栈
数据结构·c++·算法·leetcode·
_日拱一卒12 小时前
LeetCode:207课程表
java·数据结构·算法·leetcode·职场和发展
风筝在晴天搁浅16 小时前
美团 LeetCode 692.前K个高频单词
算法·leetcode·职场和发展
z2005093017 小时前
今日算法(回溯子集)(模版题)
数据结构·算法·leetcode
YL2004042618 小时前
071字符串解码
数据结构·leetcode
z2005093020 小时前
今日算法(回溯子集)
数据结构·算法·leetcode
Hesionberger20 小时前
巧用异或找出唯一数字(多解)
java·数据结构·python·算法·leetcode
菜菜的顾清寒21 小时前
力扣HOT100(47) 二叉树的层序遍历
算法·leetcode·深度优先
sheeta19981 天前
LeetCode 每日一题笔记 日期:2026.05.31 题目:2126. 摧毁小行星
笔记·算法·leetcode
INGNIGHT1 天前
984.不含 AAA 或 BBB 的字符串(贪心)
开发语言·算法·leetcode