刷题之路(八)求字符串中的符合要求的数字

简介:String to Integer (atoi)—实现将字符串转换为整数的atoi

问题详解:给定一个字符串str,在该函数中首先丢弃所需数量的空白字符,直到找到第一个非空白字符’ ',然后,从该字符开始,采用可选的初始加号或减号,后跟尽可能多的数字,并将它们转换为数值.

其他非数字字符串可以包含在形成整数之后的其他字符,这些字符将被忽略,如果str中的第一个非空白字符序列不是有效的整数,或者由于str是空的或者只包含空格字符而不存在这样的序列,则返回零值

超出-2^31 ~ 2^31-1,即-2,147,483,648~2,147,483,647

返回-2,147,483,648/2,147,483,647

举例:

1:

输入: “42”

输出: 42

2:

输入: " -42"

输出: -42

解释: 忽略空格,保留-号,再输出数值

3:

输入: “4193 with words”

输出: 4193

解释: 数值后的字符无视

4:

输入: “words and 987”

输出: 0

解释: 第一个非空白字符是’w’,它不是数字,返回0

5:

输入: “-91283472332”

输出: -2147483648

解释: 超出int范围返回Integer.MAX_VALUE/Integer.MIN_VALUE

emmmmm这道题没有官方实现,如果大家有更好的方法留言,咱们互相交流一下

注:

1.LeetCode中有些类没有,只能靠逻辑实现,例如BigInteger

小白刷题之路,请多指教— — 要么大器晚成,要么石沉大海

原文地址:https://www.cnblogs.com/lalalaczq/p/10699876.html