题解 | #把字符串转换成整数(atoi)#

https://www.nowcoder.com/practice/d11471c3bf2d40f38b66bb12785df47f

依次遍历 s 的每个字符,根据要求求解,当首字母是 "+-" 时,影响数字符号,其他情况判断字符是否为 "0-9",然后将数字拼接起来,最终判断结果是否超过范围
class Solution:
    def StrToInt(self , s: str) -> int:
        # write code here
        res = 0
        flag = True
        for i, c in enumerate(s.strip()):
            if i == 0:
                if c == "-":
                    flag = False
                elif c == "+":
                    continue
                elif "0" <= c <= "9":
                    res = res * 10 + int(c)
                else:
                    break
            else:
                if "0" <= c <= "9":
                    res = res * 10 + int(c)
                else:
                    break
        if not flag:
            res = -res
        if res < - 2 ** 31:
            res = - 2 ** 31
        elif res > 2 ** 31 - 1:
            res = 2 ** 31 - 1
        return res


题解 文章被收录于专栏

算法题解

全部评论

相关推荐

11-03 13:18
门头沟学院 Java
包行:平时怎么刷算法题的哇,字节的手撕听说都很难
字节跳动工作体验
点赞 评论 收藏
分享
想干测开的tomca...:这份简历是“大一新生硬凹资深后端”的典型反面教材,槽点离谱到能让面试官直接笑出声: ### 1. 「年龄+入学时间」和项目复杂度完全脱节,可信度直接归0 你2024年7月才入学(现在刚读了1年多),19岁的大一新生,能把Vue3+Spring Boot+ShardingSphere+K8s+AI这些技术全塞进两个项目里?别说实际开发,光把这些技术的文档看完都得半年——这不是“能力强”,是“把招聘JD里的技术词全抄过来造假”,明摆着没碰过实际代码
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务