算法学习——leetcode58. 最后一个单词的长度
2019-03-07 14:43
225 查看
题目:
给定一个仅包含大小写字母和空格
' '的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指由字母组成,但不包含任何空格的字符串。
示例:
输入: "Hello World" 输出: 5
解题思路:
用空格来标识一个单词的结束,并将每个单词的length存入到向量lengths中
代码:
[code]class Solution { public: int lengthOfLastWord(string s) { int length = 0; vector<int> lengths; lengths.push_back(length); for(int i=0;i<s.length();i++){ if(s.at(i) == ' '){ if(length>0) lengths.push_back(length); length=0; } else if(i == s.length()-1 && s.at(i) != ' '){ length++; lengths.push_back(length); } else length++; } // lengths.push_back(length); return lengths.back(); } };
百度之后发现可以先去掉首尾的空格,代码可以简化一些,但是内存使用和用时好像也没有很大的变化
代码:
[code]class Solution { public: int lengthOfLastWord(string s) { s.erase(s.find_last_not_of(" ") + 1); s.erase(0, s.find_first_not_of(" ")); int length = 0; for(int i=0;i<s.length();i++){ if(s.at(i) != ' '){ length++; } else length = 0; } return length; } };
相关文章推荐
- LeetCode 58. 最后一个单词的长度
- Leetcode做题日记:58. 最后一个单词的长度(PYTHON)
- 【LeetCode-面试算法经典-Java实现】【058-Length of Last Word (最后一个单词的长度)】
- Leetcode58. 最后一个单词的长度(python3)
- leetcode 58. 最后一个单词的长度
- 【LeetCode-面试算法经典-Java实现】【058-Length of Last Word (最后一个单词的长度)】
- Leetcode(58)最后一个单词的长度
- LeetCode 58. Length of Last Word(最后一个单词的长度)
- 计算字符串最后一个单词的长度,单词以空格隔开 (算法练习 一)
- LeetCode 58. Length of Last Word(最后一个单词长度)
- [LeetCode] Length of Last Word - 最后一个单词的长度
- [leetcode]Length of Last Word (求最后一个单词的长度 C语言实现)
- 【LeetCode】- Length of Last Word(最后一个单词的长度)
- (LeetCode每日一刷14)最后一个单词的长度
- leetcode:Length of Last Word最后一个单词的长度
- [LeetCode-58] Length of Last Word(最后一个单词长度)
- leetcode:求最后一个单词长度
- leetcode 58 Length of Last Word(最后一个单词长度)
- LeetCode------58. Length of Last Word(字符串中最后一个单词的长度)
- Java&LeetCode 初入门——058. 最后一个单词的长度