58. 最后一个单词的长度 |刷题打卡

136 阅读1分钟

掘金团队号上线,助你 Offer 临门! 点击 查看详情

一、题目描述:

给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。

单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。

 


示例 1:

输入:s = "Hello World"
输出:5
示例 2:

输入:s = " "
输出:0


提示:

1 <= s.length <= 104
s 仅有英文字母和空格 ' ' 组成

二、思路分析:

  • 如果结尾有空格,需要先去掉字符串最后空格,
  • 然后字符串按空格分割,

三、AC 代码

/**
 * @param {string} s
 * @return {number}
 */
var lengthOfLastWord = function(s) {
    const arr = s.trimEnd().split(' ');
    return arr[arr.length-1].length;
};

执行用时:76 ms
内存消耗:37.8 MB


四、总结

  • 当然不止一种方法,
// 很多一行代码就实现
var lengthOfLastWord = function(s) {
    return s.trim().split(' ').pop().length
};
var lengthOfLastWord = function(s) {
    return s.trim().split(' ').reverse()[0].length
    
};

仅供学习参考

参考题目