给定一个仅包含大小写字母和空格 ' '
的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指由字母组成,但不包含任何空格的字符串。
示例:
输入: "Hello World"
输出: 5
解题思路:
1. 找到最后一个不是空格的字符(字母)的位置pos1,如不到return 0;
2. 安全起见,删除pos1之后的字符(空格)。
3. s=" "+s;找到最后一个空格的位置pos2,return pos1-pos2即可。
class Solution { public: int lengthOfLastWord(string s) { int size = s.size(); if (size == 0) return 0; s = " " + s; int pos1 = s.find_last_not_of(' '); if (!(pos1 > 0)) return 0; s.erase(s.begin() + pos1, s.end()); int pos2 = s.find_last_of(' '); return pos1 - pos2; } }; |