1、题目描述
返回一个 string中最后一个单词的长度。单词定义为没有空格的连续的字符,比如 ‘a’,'akkk'。
2、问题分析
从后向前扫描,如果string是以空格‘ ’结尾的,就不用计数,现将空格最后的空格排除掉,直到找到最后一个出现的字符。从最后一个出现的字符开始计数,一直到下一次出现空格‘ ’。
特殊情况是 输入的字符串是空的,先排除掉。
3、代码
1
1 int lengthOfLastWord(string s) { 2 3 if(s.size() == 0) // 排除字符长度为 0 的情况 4 return 0; 5 6 int i = s.size() - 1; 7 int len = 0; 8 while( s[i] == ' ' && i >= 0) // 排除掉最后的空格 9 { 10 i--; 11 } 12 13 while(s[i] != ' ' && i >= 0) // 从最后一个出现的字符开始, 14 { // 向前寻找空格,找到空格或者字 15 i--; // 符结束终止寻找 16 len++; 17 } 18 19 return len; 20 21 }