58. 最后一个单词的长度

LeetCode

解法一

  • 因为是从查找最后一个单词,考虑从后向前匹配

  • 因为有以一个或多个空字符串结尾的情况,所以如果先遇到空字符串则跳过,从遇到的第一个字符串开始基数,再次遇到空格则返回结果

  • 注意边界的处理,如果字符串为空,返回0

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var lengthOfLastWord = function (s) {
// 边界处理
if (s === '') return 0
var i = s.length - 1;
var res = 0;
for (; i >= 0; i--) {
if (s[i] === ' ' && res !== 0) {
return res;
}
else if(s[i] !== ' '){
res++;
}
//跳过空字符串的情况
}
return res;
};

复杂度分析

  • 时间复杂度:

  • 空间复杂度:

方法二

1
2
3
4
var lengthOfLastWord = function(s) {
if(s==='') return 0
return s.trim().split(' ').pop().length;
};
打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2025 SunZhiqi

此时无声胜有声!

支付宝
微信