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
.
借助strlen函数,相当于遍历两遍字符串 本文地址
1 class Solution { 2 public: 3 int lengthOfLastWord(const char *s) { 4 if(s == NULL)return 0; 5 int len = strlen(s), i, res = 0; 6 for(i = len-1; i >= 0 && s[i] == ' '; i--);//从尾部开始找到第一个非空格字符 7 for(; i >= 0 && s[i] != ' '; i--)res++; 8 return res; 9 } 10 };
遍历一遍字符串
1 class Solution { 2 public: 3 int lengthOfLastWord(const char *s) { 4 if(s == NULL)return 0; 5 int res = 0, cnt = 0; 6 for(; *s != '\0'; s++) 7 { 8 if(*s == ' ') 9 { 10 if(cnt != 0) 11 res = cnt; 12 cnt = 0; 13 } 14 else cnt++; 15 } 16 return cnt == 0 ? res : cnt; 17 } 18 };
本文转自tenos博客园博客,原文链接:http://www.cnblogs.com/TenosDoIt/p/3722115.html,如需转载请自行联系原作者