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

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

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;
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务