获取str中最长单词(包括相同长度的所有单词)的下标

void longest(char* str, int* k)//获取str中最长单词的下标,存入k数组中。数组数值等于-1,表示不是最长单词下标,
{
    int i = 0, j = 0, len = 0, max = 0;
    char ch = 0;
    while (i <= strlen(str))
    {
        ch = str[i++];
        if (Isletter(ch))
            len++;
        else //只要不是字母一概设为单词的结尾
        {
            if (len > max)
            {
                max = len;
                j = 0;//单词长度超过前面的最长单词,k数组下标归零
                k[j++] = i - max - 1;
            }
            else if (len == max &amp;&amp; max > 0)//出现相同长度的最长单词,下标存入k数组
                k[j++] = i - max - 1;
            len = 0;
        }
    }
    k[j] = -1;//最后一个k数组元素赋值-1.统计结束。
}#牛客AI配图神器#
全部评论

相关推荐

吴offer选手:学到了,下次面试也放张纸在电脑上,不然老是忘记要说哪几个点
点赞 评论 收藏
分享
叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务