【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表示数字,+表示一个或多个)。

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

$:表示字符串的结束。

相关推荐
2301_804215417 小时前
模板元编程应用场景
开发语言·c++·算法
实心儿儿7 小时前
C++ —— 红黑树
java·开发语言·算法
炘爚7 小时前
C++(普通指针和成员的区别、指针的使用场景和存储内容)
数据结构·c++·算法
炘爚7 小时前
C++(在Mystring类中碰到的构造函数和析构函数以及深拷贝和浅拷贝的问题)
开发语言·c++·算法
Fang fan7 小时前
Java集合
java·开发语言·算法
AI成长日志7 小时前
【笔面试算法学习专栏】链表操作专题:反转、环形检测与合并
学习·算法·面试
njidf7 小时前
C++与量子计算模拟
开发语言·c++·算法
阿Y加油吧8 小时前
面试硬核双杀!合并 K 个升序链表 + LRU 缓存|力扣高频手撕原题全解
数据结构·leetcode·链表
老鼠只爱大米8 小时前
LeetCode经典算法面试题 #70:爬楼梯(朴素递归、记忆化递归、动态规划等六种实现方案详解)
算法·leetcode·动态规划·递归·斐波那契·矩阵快速幂·爬楼梯