字符串转换整数-字符串8-python

python

class Solution:
    def myAtoi(self, s: str):
        s = s.strip()
        if not s:
            return 0
        elif not s[0].isdigit():
            if s[0] == '+' or s[0] == '-':
                if len(s) == 1 or not s[1].isdigit():
                    return 0
            else:
                return 0
        
        def search_num(arr):
            if not arr:
                return None
            start, end = 0, 0
            n = len(arr)

            while end < n and not arr[end].isdigit():
                end += 1
            if end >= n:
                return None
            
            start = end
            while end < n and arr[end].isdigit():
                end += 1
            
            if start >=1 and arr[start-1] == '-':
                num = -int(arr[start:end])
                if num < -pow(2, 31):
                    return -pow(2, 31)
                else:
                    return num
            else:
                num = int(arr[start:end])
                if num > pow(2, 31) - 1:
                    return pow(2, 31)-1
                else:
                    return num

        res = search_num(s)
        if res is not None:
            return res
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值