Leetcode 58 -- 最后一个单词的长度

题目链接:Leetcode 58

描述一下题目:

给定一个只有大小写字母和空格的字符串,计算最后一个单词的长度,如果不存在单词,则返回0.


解题思路:

从字符串尾端开始遍历字符串呀~~~设置一个标志位和计数器,当遇到第一个非空格时,标志位置true,同时计数器++直到遇到空格。


代码如下:(C++)

/*******************************************************************************
Copyright © 2018-20xx Qiao Chuncheng, All Rights Reserved.
File name:		058[最后一个单词的长度].cpp
Author:			Qiao Chuncheng
Version:		v1.0
Date:			2018-04-17
*******************************************************************************/

class Solution {
public:
	int lengthOfLastWord(string s) {
		bool flag = false;//利用flag来确定是经过最后一个单词
		int cnt = 0;
		if (s.empty())
			return 0;
		for (int i = s.length() - 1; i >= 0; i--)//求最后一个单词的长度,从尾部开始扫描
		{
			if (flag == false && s[i] == ' ')
				continue;

			if (s[i] != ' ')
			{
				cnt++;
				flag = true;
			}
			else
			{
				break;
			}
		}
		return cnt;
	}
};

猜你喜欢

转载自blog.csdn.net/u010281829/article/details/80106847
今日推荐