您的位置:首页 > 其它

58 - Length of Last Word

2016-03-07 14:20 218 查看
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
.

Subscribe to see which companies asked this question
思路分析:
此题较容易,有两个注意点。
1、int len = strlen(str); VS会报 不能将参数 1 从“std::string”转换为“const char *”解决 错。解决方法:std::string类有一个方法叫c_str()就是取出string对象的字符串,实现到char *的转换,调用方法:strlen(str.c_str());
2、注意以空格结尾的字符串。
class Solution {
public:

    int lengthOfLastWord(string s)
	{
		int sz = strlen(s.c_str());

		if (sz == 0)
		{
			return 0;
		}

		int res = 0;

		for (int i = sz - 1; i >= 0; i--)
		{
			if (s[i] != ' ')
			{
				res++;
			}
			
			//不能 else break 如果结尾时以空格开头的情况
			else
			{
			    if (res > 0)
			    {
			        return res;
			    }
			}
		}
		return res;
	}
    
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: