1、题目:把字符串转化为数字输出,前面是空格符号要去掉,正负号判断,接着如果是数字就对这个字符串进行转换,为其他字符(英文或者其他特殊字符就要结束),例:
2、采用正则式判断字符串能否进行转换,用max()和min()来控制数字范围。
代码如下:简单到惊呆我八百年!!
class Solution(object):
def myAtoi(self, s):
"""
:type s: str
:rtype: int
"""
return max(min(int(*re.findall('^[\+\-]?\d+',s.lstrip())),2**31-1),-2**31)
关于代码的解释:
*代表的是解包,把字符串分解成一个个单独的元素
re.findall用于匹配字符,后面的是正则式规则:^匹配开头,[\+\-]表示有+号或者-号,?表示前面的+号可以有也可以没有,\d+表示后面要有多个数字
lstrip()用来去掉空格字符