Description:
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.
分析:
从后向前查找即可
代码:
#include <iostream>
#include <string>
using namespace std;
int LengthOfLastWord(string str) //从后向前读
{
int len = str.size();
int LastWordLen = 0;
int i = len - 1;
while ( i > 0 && str[i] == ' ') //跳过空格
--i;
while (i > 0 && str[i] != ' ')
{
i--;
LastWordLen++;
}
return LastWordLen;
}
int main()
{
string s = "Hello World ";
string s2 = " ";
string s3 = " Hello,World ";
cout << LengthOfLastWord(s) << endl;
cout << LengthOfLastWord(s2) << endl;
cout << LengthOfLastWord(s3) << endl;
system("pause");
return 0;
}
测试: