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

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

字符串单词个数


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

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

示例:

输入: "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() 方法不改变原始字符串。



目录
打赏
0
0
0
0
0
分享
相关文章
|
7月前
|
【算法】滑动窗口——找到字符串中所有字母异位词
【算法】滑动窗口——找到字符串中所有字母异位词
|
5月前
|
两个字符串匹配出最长公共子序列算法
本文介绍了最长公共子序列(LCS)问题的算法实现,通过动态规划方法求解两个字符串的最长公共子序列,并提供了具体的编程实现细节和示例。
145 1
两个字符串匹配出最长公共子序列算法
一文了解分而治之和动态规则算法在前端中的应用
该文章详细介绍了分而治之策略和动态规划算法在前端开发中的应用,并通过具体的例子和LeetCode题目解析来说明这两种算法的特点及使用场景。
一文了解分而治之和动态规则算法在前端中的应用
前端基础(十五)_时间对象、字符串对象
本文介绍了JavaScript中时间对象的操作方法,包括获取和设置年、月、日、小时、分钟、秒等,以及如何格式化时间显示,同时提及了字符串对象的常用方法。
45 0
前端基础(十五)_时间对象、字符串对象
前端常用算法全解:特征梳理、复杂度比较、分类解读与示例展示
前端常用算法全解:特征梳理、复杂度比较、分类解读与示例展示
82 0
|
5月前
Leetcode(最后一个单词长度)
这篇文章介绍了两种解决LeetCode第58题的方法,即计算给定字符串中最后一个单词的长度,方法包括翻转字符串和逆向遍历统计。
37 0
|
5月前
【LeetCode 20】151.反转字符串里的单词
【LeetCode 20】151.反转字符串里的单词
40 0
一文了解贪心算法和回溯算法在前端中的应用
该文章深入讲解了贪心算法与回溯算法的原理及其在前端开发中的具体应用,并通过分析LeetCode题目来展示这两种算法的解题思路与实现方法。
"揭秘Vue.js的高效渲染秘诀:深度解析Diff算法如何让前端开发快人一步"
【8月更文挑战第20天】Vue.js是一款备受欢迎的前端框架,以其声明式的响应式数据绑定和组件化开发著称。在Vue中,Diff算法是核心之一,它高效计算虚拟DOM更新时所需的最小实际DOM变更,确保界面快速准确更新。算法通过比较新旧虚拟DOM树的同层级节点,递归检查子节点,并利用`key`属性优化列表更新。虽然存在局限性,如难以处理跨层级节点移动,但Diff算法仍是Vue高效更新机制的关键,帮助开发者构建高性能Web应用。
135 1
掌握算法学习之字符串经典用法
文章总结了字符串在算法领域的经典用法,特别是通过双指针法来实现字符串的反转操作,并提供了LeetCode上相关题目的Java代码实现,强调了掌握这些技巧对于提升算法思维的重要性。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等