Every day a leetcode
题目来源:58. 最后一个单词的长度
解法1:双指针
设置两个指针begin 和 end。
end 初始化时,指向字符串的最后一个元素,往前移动,直到遇到一个非空格时停下。
begin 初始化为 end,继续向前移动,直到遇到第一个空格时停下。
这样一来,begin 指向最后一个单词前的第一个空格,end 指向最后一个单词的末尾。
最后一个单词的长度 = end - begin。
代码:
int lengthOfLastWord(char * s){
int len=strlen(s);
int begin;
int end;
end=len-1;
while(end>=0 && s[end] == ' ') end--;
begin=end;
while(begin>=0 && s[begin]!=' ') begin--;
return end-begin;
}
结果: