LeetCode 58 最后一个单词的长度
1. 题目地址
https://leetcode.cn/problems/length-of-last-word/description/?envType=study-plan-v2&envId=top-interview-150
2. 题解
这道题由于要求最后一个单词的长度,因此我们可以从后往前遍历。在遍历的时候统计字符的个数即可。遇到空格中止。
但是需要注意:由于会出现类似于:" fly me to the moon "的字符串。因此,我们从后往前遍历的时候需要处理空格的问题。具体策略如下:
1. 如果当前为空格,且flag = false,那么就跳过当前元素,继续往前遍历。其中,flag代表是否遍历到了字母。
2. 如果当前为空格,且flag = true, 那么直接退出循环,直接输出长度即可。
3. 如果当前不是空格,那么将flag = true(代表遍历到了字母),将统计的字符个数+1,继续向前遍历即可。
3. 代码
class Solution {
public:
int lengthOfLastWord(string s) {
int count = 0;
bool flag = false;
for(int i = s.size() - 1; i >= 0; i --){
if(s[i] == ' ' && flag == false){
continue;
}
if(s[i] == ' ' && flag == true){
break;
}
if(s[i] != ' '){
flag = true;
count++;
if(i == 0){
break;
}
}
}
return count;
}
};
标签:空格,遍历,58,单词,flag,长度,true,LeetCode
From: https://www.cnblogs.com/gao79135/p/17750776.html