434. 字符串中的单词数
解题过程
INFO
题目链接 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符
javascript
/**
* @link https://leetcode.cn/problems/number-of-segments-in-a-string/
* @title 434. 字符串中的单词数
* @description 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。
* 请注意,你可以假定字符串里不包括任何不可打印的字符。
* @param {string} s
* @return {number}
*/
// 解法一
// 思路:字符串 API matchAll 正则表达式匹配非空字符单词即可
var countSegments = function (s) {
return [ ...s.matchAll(/\S+/g)].length
}
// 解法二
// 思路:官方解法循环遍历字符串统计空格字符数量
var countSegments = function (s) {
let count = 0
for (let i = 0; i < s.length; i++) {
if ((i === 0 || s[i - 1] === ' ') && s[i] !== ' ') {
count++
}
}
return count
}
// const result = countSegments("Hello, my name is John") // 5
// const result = countSegments("love live! mu'sic forever") // 4
const result = countSegments(", , , , a, eaefa") // 6
// const result = countSegments("Hello") // 1
// const result = countSegments(" ") // 0
console.log(result)
解题感受
偷了个懒,直接用字符串 API ➕ 正则表达式统计即可,也有想到官方解法思路,通过遍历字符串根据空格数量来判断的,但是为了偷懒就没有做了