一.题目描述
给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
示例 1:
输入:s = "Hello World"
输出:5
解释:最后一个单词是“World”,长度为5。
示例 2:
输入:s = " fly me to the moon "
输出:4
解释:最后一个单词是“moon”,长度为4。
二.思路分析
双指针法,用一个指针标记单词的头字母,用另一个指针向后遍历,在空格处使其连加跳过;
三.代码实现
int lengthOfLastWord(char* s) {
int k=0,i=0;
while (s[i] == 32)
i++;
while(s[i]!=0)
{
if (s[i] != 32)
{
int j = i;
while (s[j] != 32 && s[j] != 0)
j++;
k = j - i;
while (s[j] == 32)
j++;
i = j;
}
}
return k;
}