题解 | #字符串最后一个单词的长度#

字符串最后一个单词的长度

http://www.nowcoder.com/practice/8c949ea5f36f422594b306a2300315da

#include <iostream>
#include <cstring>
using namespace std;

#define maxSize 1000

// 直接定位到最后一个字符串的最后一个元素下标i,再从这个下标出发往前走,遇到'\0'则停止,期间走的步数ret即为最后一个字符串的长度
// 算法缺陷就是字符串之间最多相隔1个'\0'
int fun()
{
    char str[maxSize] = {'\0'};
    cin.getline(str, maxSize);
    int i;
    for(i = 0; i < maxSize; i++) 
    {
        if(str[i]!='\0' && str[i+1]=='\0' && str[i+2]=='\0')
            break;
    }
    int j, ret = 0;
    for(int j = i; j >= 0; j--)
    {
        if(str[j] == ' ')
            break;
        else
            ++ ret;
    }
    return ret;
}

int main() {
    int ans = fun();
    cout << ans << endl;
    return 0;
}
全部评论

相关推荐

2025-12-30 16:42
同济大学 C++
仁狂躁使者:哎呀,不用担心,我当时配环境配了两天,项目捋不清就问问导师能不能用ai,慢慢就清了,会好起来的
点赞 评论 收藏
分享
牛至超人:您好,京东物流岗了解一下吗?负责精加工食品的端到端传输
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务