[LeetCode] 58.Length of Last Word
- 题目描述
- 解题思路
- 实验代码
题目描述
Given a string s consists of upper/lower-case alphabets and empty space characters ’ ‘, return the length of last word in the string.
If the last word does not exist, return 0.
Note: A word is defined as a character sequence consists of non-space characters only.
For example,
Given s = “Hello World”,
return 5.
解题思路
这道题我的思路是把这个字符串先倒置,利用了reverse()函数,因为从后往前看比较方便区分不同情况,如果字符串为” “或者”“时则返回值0,否则找到第一个非空格的字符对应的数字。之后再从这个数字开始记录下来非空格字符的个数,最终返回这个个数值就完成了。
实验代码
class Solution {
public:
int lengthOfLastWord(string s) {
int l = s.length(), t = 0, m = 0;
if (s == " " || s == "") return 0;
reverse(s.begin(), s.end());
for (int i = 0; i < l; i++) {
if (s[i] != ' ') {
t = i;
break;
};
}
for (int i = t; i < l; i++) {
if (s[i] == ' ') break;
m++;
}
return m;
}
};