题目描述
请你来实现一个myAtoi(string s)函数,使其能将字符串转换成一个32位有符号整数(类似 C/C++ 中的 atoi 函数)
示例1:
输入: str = “42”
输出: 42
示例2:
输入: str = " -42"
输出: -42
解释: 第一个非空白字符为 ‘-’, 它是一个负号。
我们尽可能将负号与后面所有连续出现的数字组合起来,最后得到 -42.
示例3:
输入: str = “4193 with words”
输出: 4193
解释: 转换截止于数字 ‘3’ ,因为它的下一个字符不为数字。
示例4:
输入: str = “words and 987”
输出: 0
解释: 第一个非空字符是 ‘w’, 但它不是数字或正、负号。因此无法执行有效的转换。
示例5:
输入: str = “-91283472332”
输出: -2147483648
解释: 数字 “-91283472332” 超过 32 位有符号整数范围。因此返回 INT_MIN(−2**31).
题目解析
本题采用正则表达式解题,将字符串转换为整数。
本题用到的正则表达式解析:
^:匹配字符串开头
[+-]:代表一个+字符或-字符
?:前面一个字符可有可