58. Length of Last Word

Leetcode link

题目简介

/**
 * @param {string} s
 * @return {number}
 */

题目给我们一个字符串 s

要求返回 s 字符串最后一个单词的长度

解题思路

这题有两个解法:

  1. 用 trim + split 先分割字符串,然后取最后一个元素返回长度即可
  2. 用双指针找到最后一个字符的范围,然后返回长度

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)

results matching ""

    No results matching ""