LeetCode题解-8:字符串转换整数 (atoi)

菜鸟成长日记

本想着用遍历的方法写,脑子转不过来。。。还是正则比较香

class Solution:
    def myAtoi(self, s: str) -> int:
        import re

        num=re.findall("^[\+\-]?[0-9]+",s.lstrip())[0]
        try:
            res = int(num)
        except ValueError:
            res=0
        return max(min(res,pow(2,31)-1),pow(-2,31))

注意点:

  • \+表示识别"+";\-表示识别"-";\d表示识别数字;用\表示是识别字符,而不是其他意思,如+在正则中有其他含义
  • []表示一个区间,比如[\+\-]表示识别"+“或”-"
  • ^表示识别的起始位置,意思是识别出来的字符串第一个字符必须是"+“或”-"
  • ?表示识别前面的子表达式零次或一次,意思是"+“或”-"可以没有或者有一个
  • +表示识别前面的子表达式一次或多次,意思是至少需要一个数字

运行结果: 时间-48 ms;内存-13.8 MB

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值