题目来源:
题目描述:
给你一个字符串
s
,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
输入示例 1:
输入:s = "Hello World"
输出:5输入示例 2:
输入:s = " fly me to the moon "
输出:4输入示例 3:
输入:s = "luffy is still joyboy"
输出:6
思路解读:
由于找的是最后一个单词,不妨将指针指向最后一个字母,利用for循环依次往前指向;
由于末尾会出现空格的情况,使用当不是空格的时候开始计数,如果是空格且计的数不为0则一直往前指,不会进入if语句,当指向了空格且计的数字不为0,代表已经将最后一个单词的长度记录下来,输出即可
代码程序 :
int lengthOfLastWord(char * s){
int len = strlen(s);
int n = 0;
int i;
for (i = len - 1; i >= 0; i--) {
if (s[i] != ' ')
n++;
if (s[i] == ' ' && 0 != n)
break;
}
return n;
}