58. 最后一个单词的长度【JS两种解法】

这个题是个简单题

解题思路1:利用JS字符串的trim()和split()方法

利用trim方法将字符串最后面的空格去掉之后,split方法按照空格分开到数组中,最后一个单词必然成为数组的最后一项,返回最后一项的长度即可。

代码

/**
 * @param {string} s
 * @return {number}
 */
var lengthOfLastWord = function(s) {
     
    if (!s) return 0
    let arr = s.trim().split(' ')
    return arr[arr.length - 1].length
};

解题思路2:遍历一遍数组,记录最后单词的长度

从后往前遍历字符串,如果字符串为空,而且已记录长度为0,说明还没有遍历到单词;若长度不为0,碰到空字符串说明遍历结束。

代码

/**
 * @param {string} s
 * @return {number}
 */
var lengthOfLastWord = function(s) {
     
    if (!s) return 0
    let res = 0
    for (let i = s.length - 1; i >= 0; --i) {
     
        if (s[i] === ' ') {
     
            if (!res) {
     
                continue
            } else {
     
                break
            }
        }
        res++
    }
    return res
};

你可能感兴趣的:(leetcode,算法,字符串)