题目:
代码:
class Solution {
public:
int stringLength(string str) {
int length = 0;
while (str[length] != '\0') {
length += 1;
}
return length;
}
int lengthOfLastWord(string s) {
int lastLength = 0;
bool flag = false;
int length = stringLength(s);
for (int index= length - 1; index >= 0; index--) {
if (s[index] != ' ') {
flag = true;
lastLength += 1;
continue;
}
if (flag == true) {
break;
}
}
return lastLength;
}
};
思路:
从后往前判断,在遇到字母字符后将flag标记为true,那么当再有空格的时候就可以判断出此时已经统计完最后一个单词了,设置flag的目的是为了避免后面还有一些空格,比如测试用例2,当未统计到字母字符的时候即使遇到空格也直接读取,但不计数。
那么统计字符串的长度这里我另外写了一个函数,其实直接调用函数也可以的。
结果: