LeetCode刷题——最后一个单词的长度

大家好,继续刷题日记,这道题非常简单,稍微记录一下,便于后期回顾。题目要求如下:


这里没有说清楚,我后面看他给的测试用例才搞清楚,如果他后面一直是空格,那空格后的单词也可以看做是最后一个单词,不必要求必须是从最后开始。总体思路如下:

首先进行一个从后往前的循环,设置一个开关temp先置为1。判断如果他从最后往前直接是空格就continue,如果不是空格就计数加一并把temp设为0,表示已经有字母输入,后面的空格不可以跳过了,然后再遇到空格跳出,最后返回计数就可以了。

代码如下:

class Solution {
public:
    int lengthOfLastWord(string s) {
	int len = s.size();
        int cont = 0;
	int temp = 1;
    
	for (int i = len - 1;i >= 0;i--){
	      if (s[i] == 32 && temp == 1)
	    	    continue;
	      else{
		    if((s[i] >= 97 && s[i] <= 122) || (s[i] >= 65 && s[i] <= 90)){
		    	cont++;
		    	temp = 0;
		    }
		    else return cont;
	      }
	}
	return cont;
    }
};

最后的一个return cont是为了防止他没有空格全都是字母的情况。

我们下期见!

猜你喜欢

转载自blog.csdn.net/miss_yuki/article/details/80080024