一、题目描述
给你一个字符串 s
,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
二、解题思路
1.使用 split(' ') 将字符串按空格分组转化成数组,然后获取数组最后一个元素的长度即可
2.可能字符串首、尾会出现出现空格导致分割成数组出现异常,所以先使用trim()去除首尾的空格。
三、解题代码
示例一:
/**
* @param {string} s
* @return {number}
*/
var lengthOfLastWord = function(s) {
const arr = s.trim().split(' ')
return arr[arr.length-1].length
};
代码解析:先 去除首尾的空格再按照空格分割成数组 s.trim().split(' ') 。取最后一个数组元素,获取长度。
示例二:
/**
* @param {string} s
* @return {number}
*/
var lengthOfLastWord = function (s) {
const arr = s.split(" ")
let ans = 0
for (let i = arr.length;i>=0;i--){
let mid = arr[i]
if(mid){
ans = mid.length
break
}
}
return ans
};
代码解析:都是先将其转化成数组,再取最后一个元素。只是这个没有对首尾的空格进行处理。所以选择从数组后面开始判断,使用 if(mid) 判断是否为空,如果不是则为最后一个单词,返回他的长度。