五十八、最后一个单词的长度
问题描述
给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
58.1、解法一
- sttr.trim() 移除两端的空格
- lastIndexOf(’ ') 获得最后一个空格出现的位置
- 使用slice (start,end) 截取 最后一个空格出现之后的全部元素
var lengthOfLastWord = function (s) {
// 移除两端的空格
s = s.trim()
// 空字符串
if (s === '') {
return 0
}
// 查找最后一个空格出现的位置 截取空格之后位置的全部元素 并返回长度
return s.slice(s.lastIndexOf(' ') + 1).length
};
// 测试
const s = 'Hello World';
// const s = "a";
// const s = 'a '
console.log(lengthOfLastWord(s));
58.2、解法二
- sttr.trim() 移除两端的空格
- split(’ ') 将字符串分隔成按照空格格式的数组
- 弹出最后一个元素 返回最后一个元素长度
var lengthOfLastWord = function (s) {
// 移除两端的空格
s = s.trim()
// 空字符串
if (s === '') {
return 0
}
// 将字符串转换为数组 并且以空格分隔 然后弹出最后一个元素 并返回长度
return s.split(" ").pop().length
};
// 测试
const s = 'Hello World';
// const s = "a";
// const s = 'a '
console.log(lengthOfLastWord(s));