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
.
思路:从后向前遍历字符串,先过滤掉空格,直到遇到空格停止。
1 class Solution 2 { 3 public: 4 int lengthOfLastWord(string s) 5 {//返回s中最后一个单词的长度 6 if(s.size() == 0) 7 return 0; 8 9 int end = s.size()-1; 10 while(end >=0 && s[end] == ‘ ‘) 11 end--;//过滤掉后面的空格符 12 int i=end; 13 while(i>=0) 14 {//从后向前遍历 15 if(s[i] == ‘ ‘) 16 break; 17 i--; 18 } 19 20 return end-i; 21 } 22 }; 23 int main() 24 { 25 Solution sol; 26 string test[] = {"Hello world","Hello world ",""," "}; 27 28 for(auto const &i : test) 29 cout << sol.lengthOfLastWord(i)<<endl; 30 return 0; 31 }
时间: 2024-11-08 20:11:04