写点什么

LeetCode 题解:2042. 检查句子中的数字是否递增,直接遍历,JavaScript,详细注释

作者:Lee Chen
  • 2024-06-20
    福建
  • 本文字数:534 字

    阅读完需:约 2 分钟

原题链接:https://leetcode.cn/problems/check-if-numbers-are-ascending-in-a-sentence/


解题思路:


  1. 逐个搜索s,如果遇到数字,则将其逐个提取,并存储到变量curr

  2. curr与上一个数字prev对比,如果prev >= curr,表示数字非递增,返回false

  3. 如果没有顺利退出循环,表示数字为递增,返回true


/** * @param {string} s * @return {boolean} */var areNumbersAscending = function(s) {  let prev = 0 // 存储上一个搜索到数字  let curr = 0 // 存储当前搜索到的数字
// 逐个查找字符 for (let i = 0; i < s.length;) { // 如果当前字符是数字,提取数字并与前一个数字对比 if (/\d/.test(s[i])) { // 逐个提取是数字的字符,并将其转换为数字 while (/\d/.test(s[i])) { curr = curr * 10 + Number(s[i++]) } // 提取出数字后,与上一个数字对比,如果非递增,就返回错误 if (prev >= curr) { return false } // 将当前字符作为上一个字符,供下次对比用 prev = curr // 将当前字符设置为0,用于提取下一个数字 curr = 0 } else { // 如果当前字符不是数字,继续向后查找 i++ } }
// 如果没有找到递减 return true};
复制代码


发布于: 13 分钟前阅读数: 5
用户头像

Lee Chen

关注

还未添加个人签名 2018-08-29 加入

还未添加个人简介

评论

发布
暂无评论
LeetCode题解:2042. 检查句子中的数字是否递增,直接遍历,JavaScript,详细注释_Lee Chen_InfoQ写作社区