网站上的地图怎么做,国家企业信用信息网官网,特色的南昌网站制作,如何免费制作和开发自己的小程序优质博文#xff1a;IT-BLOG-CN
一、题目
给你一个字符串s#xff0c;由若干单词组成#xff0c;单词前后用一些空格字符隔开。返回字符串中 最后一个单词的长度。单词是指仅由字母组成、不包含任何空格字符的最大子字符串。
示例 1#xff1a; 输入#xff1a;s Hell…优质博文IT-BLOG-CN
一、题目
给你一个字符串s由若干单词组成单词前后用一些空格字符隔开。返回字符串中 最后一个单词的长度。单词是指仅由字母组成、不包含任何空格字符的最大子字符串。
示例 1 输入s Hello World 输出5 解释最后一个单词是World长度为5。
示例 2 输入s fly me to the moon 输出4 解释最后一个单词是moon长度为4。
示例 3 输入s luffy is still joyboy 输出6 解释最后一个单词是长度为6的joyboy。 1 s.length 104 s仅有英文字母和空格’ 组成 s中至少存在一个单词 二、代码
反向遍历 题目要求得到字符串中最后一个单词的长度可以反向遍历字符串寻找最后一个单词并计算其长度。由于字符串中至少存在一个单词因此字符串中一定有字母。首先找到字符串中的最后一个字母该字母即为最后一个单词的最后一个字母。从最后一个字母开始继续反向遍历字符串直到遇到空格或者到达字符串的起始位置。遍历到的每个字母都是最后一个单词中的字母因此遍历到的字母数量即为最后一个单词的长度。
class Solution {public int lengthOfLastWord(String s) {if (s null || s.length() 0){return 0;}int index s.length() - 1;int len 0;while (index 0 s.charAt(index) ) {index--;}while (index 0 s.charAt(index) ! ) {len;index--;}return len;}
}时间复杂度 O(n)其中n是字符串的长度。最多需要反向遍历字符串一次。 空间复杂度 O(1)。