Skip to main content

最后一个单词的长度

题目

给你一个字符串 s, 由若干单词组成, 单词之间用空格隔开. 返回字符串中最后一个单词的长度. 如果不存在最后一个单词, 请返回 0. 单词是指仅由字母组成, 不包含任何空格字符的最大子字符串.

提示:
  • 1 <= s.length <= 10⁴
  • s 仅有英文字母和空格 ' ' 组成
  • s 中至少存在一个单词
示例
输入: s = 'Hello World'
输出: 5
输入: s = ' '
输出: 0

题解

思路比较简单, 从后往前遍历, 如果没遇见空格, 就让 count++; 如果遇见了空格, 还要判断 count 是否大于 0, 因为既然是单词, 至少得有一个字母. 如果满足, 就可以跳出循环了.

var lengthOfLastWord = function (s) {
const n = s.length
let count = 0

for (let i = n - 1; i >= 0; i -= 1) {
if (s[i] === ' ') {
if (count !== 0) {
break
}
} else {
count++
}
}

return count
}