OJ练习16——T58 Length of Last Word
返回一字符串最后一个单词的长度。
【思路】
一道水题,但被以前做过的算法局限了。
字符串分割成单词:两个指针,一个指向单词头,一个指向单词尾,两者之间即为一个单词。
于是我想到用这个思路,从前向后,却不能处理最后一个字符是‘ ’的情况。
正确的思路应该是从后往前遍历!
【other code】
int lengthOfLastWord(string s) { int len=s.size(); int sum=0; while(s[len-1]==' ') len--; for(int i=len-1;i>=0;i--) { if(s[i]!=' ') sum++; else break; } return sum; }
【总结】
题目好简单,真是不想多说。
要不是没A。
从后向前是很重要的思路,很多串的算法都是这样,不要总是被局限在顺次遍历上。