题目描述:
给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指由字母组成,但不包含任何空格的字符串。
类型:水
int lengthOfLastWord(char* s) {
int len = strlen(s); // 计算长度
int key = len, k = 0;
len -= 1;
while (s[len] == ' ') { // 处理尾部空字符
len -= 1;
}
while (len > -1) {
if ((s[len] >= 'a' && s[len] <= 'z') || (s[len] >= 'A' && s[len] <= 'Z')) { // 切取得最末尾字符
k += 1;
len -= 1;
} else {
break;
}
}
if (k == 0) {
return 0;
} else {
return key - (key - k); // 找到最后一个字符的起始地址
}
}
网友评论