likes
comments
collection
share

LeetCode 字符串单词个数使用JavaScript解题|前端学算法

作者站长头像
站长
· 阅读数 19

有人相爱,有人夜里开车看海,我是leetcode第一题都做不出来

这是LeetCode的第434题字符串中的单词数

字符串单词个数

统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。

请注意,你可以假定字符串里不包括任何不可打印的字符。

示例:

输入: "Hello, my name is John"

输出: 5

解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词。

解题思路

每个单词与后面的单词都会有一个空格,所以可以利用这个特点进行分割字符串,把它变成数组,但是也有一些特殊的字符,比如为空,或者多个空字符,这个时候可以遍历数组,进行判断每一项,如果当前项为字符则进行累加

具体步骤如下:

  • 第一步:将字符串s根据空格转化为数组,初始化一个变量 res进行接收。
  • 第二步:初始化变量num为零,用于保存单词个数。
  • 第三步:循环遍历数组res,如果当前元素的长度大于0就说明是一个单词,此时进行num++
  • 第四步:返回num
var countSegments = function(s) {
    let res = s.split(' ')
    let num = 0
    for(let i=0;i<res.length;i++){
        if(res[i].length>0) num++
    }
    return num
};

知识点

  • 'split()':split()主要是用于对一个字符串进行分割成多个字符串数组。

 split() 方法不改变原始字符串。