给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/length-of-last-word
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路:
1.先统计字符串中最后一个单词的位置;
2.然后从这个位置往前遍历,直到找到空格为止;
3.最后返回空格和单词结束位置之间的长度差即可。
使用C++
class Solution { public: int lengthOfLastWord(string s) { int end = s.length() - 1; // 去除字符串末尾的空格 while (end >= 0 && s[end] == ' ') { end--; } // 计算最后一个单词的结束位置 int start = end; while (start >= 0 && s[start] != ' ') { start--; } // 返回最后一个单词的长度 return end - start; } };
使用C语言
int lengthOfLastWord(char * s){ int end = strlen(s) - 1; // 去除字符串末尾的空格 while (end >= 0 && s[end] == ' ') { end--; } // 计算最后一个单词的结束位置 int start = end; while (start >= 0 && s[start] != ' ') { start--; } // 返回最后一个单词的长度 return end - start; }
标签:空格,end,int,最后,单词,start,字符串,长度 From: https://www.cnblogs.com/Bingley-Z/p/17453905.html