题目描述
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于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)