每日算法 day1

89 阅读1分钟

题目描述

计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)

输入描述:

输入一行,代表要计算的字符串,非空,长度小于5000。

输出描述:

输出一个整数,表示输入字符串最后一个单词的长度。

示例1

输入:

hello dayday

输出:

8

说明:

最后一个单词为dayday,长度为6   

思路

将整个字符串保存在数组中,利用数组随机存取的性质,首先获取字符串的长度,然后从后向前遍历数组并设置count变量计数,访问到第一个空格时停止,此时count值为最后一个单词的长度。

具体实现

#include <stdio.h> #include <stdlib.h>

int main() { char a[5000] = {'0'}; gets(a); int i = 0, count = 0; i = strlen( a ) - 1; while (a[i] != ' ' && i >= 0 ) { count ++; i--; } printf("%d", count); return 0; }

时间复杂度

该算法时间复杂度为O(n)