思路:
s = " fly me to the moon ",为了计算最后一个单词的长度,我们需要计算最后一个单词的首尾字母的下标:
单词最后一个字母的下标,也就是最后一个非空格字符的下标,记作 i。上例中 i 是字母 n 的下标。
单词第一个字母的下标,我们可以找到在 i 左边的最近空格的下标,记作 j,那么 j+1 就是这个单词的第一个字母的下标。如果左边没有空格,那么 j=−1。
单词长度为i−j
cpp
int lengthOfLastWord(char* s)
{
int i = strlen(s) - 1;
while (s[i] == ' ') {
i--;
}
int j = i - 1;
while (j >= 0 && s[j] != ' ') {
j--;
}
return i - j;
}