58-最后一个单词的长度
标签:字符串
题目信息
题目地址: 最后一个单词的长度
题目内容:
javascript
给你一个字符串s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大
子字符串
示例 1:
输入:s = "Hello World"
输出:5
解释:最后一个单词是“World”,长度为5。
示例 2:
输入:s = " fly me to the moon "
输出:4
解释:最后一个单词是“moon”,长度为4。
示例 3:
输入:s = "luffy is still joyboy"
输出:6
解释:最后一个单词是长度为6的“joyboy”。
提示:
1 <= s.length <= 104
s 仅有英文字母和空格 ' ' 组成
s 中至少存在一个单词
题解
解法一
思路:
使用正则表达式解决,可以拆分为4部分 /^(其他单词和空格)(最后一个单词前面的空格)(最后一个单词)(最后一个单词后面的空格)$/
代码实现:
javascript
/**
* @param {string} s
* @return {number}
*/
var lengthOfLastWord = function(s) {
const lastWorld = /^.*?\s*([a-zA-Z]+)\s*$/.exec(s)[1]
return lastWorld.length
};
解法二
思路:
将字符串按照
' '
分割为数组,然后从最后一个元素开始取,如果当前元素不是''
,就返回该字符串的长度,否则继续向前取
代码实现:
javascript
/**
* @param {string} s
* @return {number}
*/
var lengthOfLastWord = function(s) {
const arr = s.split(' ')
let len = arr.length
while(len-- >= 0) {
const curStr = arr[len]
if(curStr !== '') {
return curStr.length
}
}
};