【leetcode】把字符串转换成整数atoi 正则表达式

javascript 复制代码
/**
 * @param {string} str
 * @return {number}
 */
var myAtoi = function(str) {
    const regMatch=str.match(/^\s*([-|+]?\d+).*$/);
    if(!regMatch||regMatch[1]===undefined) return 0;
    const num=+regMatch[1];
    const max=2147483647;
    const min=-2147483648;
    if(isNaN(num)) return 0;
    if(num>=max) return max;
    if(num<min) return min;
    return num;
};

^:表示字符串的开始。

\s*:匹配任意数量的空白字符(包括空格、制表符、换行符等)。

(-\|+?\d+):匹配一个可选的正负号(-或+),后面紧跟一个或多个数字(\d表示数字,+表示一个或多个)。

.*:匹配任意数量的任意字符。

$:表示字符串的结束。

相关推荐
yi0118 分钟前
DAY24: LeetCode 167:两数之和 II|从暴力枚举到左右双指针
笔记·python·算法·leetcode·二分查找·双指针
木井巳9 分钟前
【BFS 解决拓扑排序】课程表
java·算法·leetcode·广度优先·宽度优先·推荐算法·图搜索算法
扶风ff29 分钟前
练题簿在线免费刷题:会员线下组卷、Word 试卷与成绩导入,课堂检测更方便
java·开发语言·算法·小程序·word
yi01136 分钟前
LeetCode 15:三数之和|排序 + 双指针,如何避免重复答案?
笔记·python·算法·leetcode·双指针
-dzk-1 小时前
【多维动态规划】LC 1143.最长公共子序列
算法·动态规划
C++ 老炮儿的技术栈1 小时前
char (*csConnectName)[256]; 和 char csConnectName [256] 有什么区别
java·c语言·开发语言·c++·人工智能·算法·c
Omics Pro1 小时前
全新可重分析!代谢组质谱专用
数据库·人工智能·算法·机器学习·自然语言处理
Nebula_g1 小时前
JavaSE加强:线程Thread(线程安全重点)
java·开发语言·jvm·算法·javase·技术栈
一只废狗狗狗狗狗狗狗狗狗1 小时前
Network架构1——卷积神经网络CNN
人工智能·算法·cnn
是希燃亚1 小时前
AI Agent 的未来,可能不是更强,而是更简单
算法·架构