58. Length of Last Word
题目简介
/**
* @param {string} s
* @return {number}
*/
题目给我们一个字符串 s
要求返回 s 字符串最后一个单词的长度
解题思路
这题有两个解法:
- 用 trim + split 先分割字符串,然后取最后一个元素返回长度即可
- 用双指针找到最后一个字符的范围,然后返回长度
Javascript:trim + split
/**
* @param {string} s
* @return {number}
*/
var lengthOfLastWord = function (s) {
const arr = s.trim().split(' ')
return arr[arr.length - 1].length
};
复杂度分析
时间
O(n)
空间
O(n)
Javascript:双指针
/**
* @param {string} s
* @return {number}
*/
var lengthOfLastWord = function (s) {
const len = s.length
let right = len - 1
let left = right
for (; left >= 0; left--) {
if(s[right] === ' ') {
right--
continue
}
if(s[left] === ' ') {
break;
}
}
return right - left
};
复杂度分析
时间
O(n)
空间
O(1)