当前位置: 首页 > news >正文

LeetCode Python -8.字符串转整数

文章目录

  • 题目
  • 答案
  • 运行结果


题目

请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。

函数 myAtoi(string s) 的算法如下:

  1. 读入字符串并丢弃无用的前导空格
  2. 检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。
    如果两者都不存在,则假定结果为正。
  3. 读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。
  4. 将前面步骤读入的这些数字转换为整数(即,“123” -> 123, “0032” -> 32)。如果没有读入数字,则整数为 0 。必要时更改符号(从步骤 2 开始)。
  5. 如果整数数超过 32 位有符号整数范围 [−231, 231 − 1] ,需要截断这个整数,使其保持在这个范围内。具体来说,小于 −231 的整数应该被固定为 −231 ,大于 231 − 1 的整数应该被固定为 231 − 1 。
  6. 返回整数作为最终结果。

注意

  • 本题中的空白字符只包括空格字符 ’ ’ 。
  • 除前导空格或数字后的其余字符串外,请勿忽略 任何其他字符。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

提示:

  • 0 <= s.length <= 200
  • s 由英文字母(大写和小写)、数字(0-9)、’ ‘、’+‘、’-’ 和 ‘.’ 组成

答案

class Solution(object):def myAtoi(self, s):""":type s: str:rtype: int"""MAX_NUM = 2**31 - 1MIN_NUM = -2**31s = s.lstrip()num_re = r'^[\+\-]?\d+'num = findall(num_re,s)num = int(*num)return max(min(num,MAX_NUM),MIN_NUM)

运行结果

在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/298511.html

相关文章:

  • 【java】笔记10:类与对象——本章练习
  • 《UE5_C++多人TPS完整教程》学习笔记8 ——《P9 访问 Steam(Acessing Steam)》
  • 缓存穿透问题与解决方案
  • 《Git 简易速速上手小册》第1章:Git 基础(2024 最新版)
  • 交易中的胜率和盈亏比估算
  • mysql RR、RC隔离级别实现原理
  • c语言--指针数组(详解)
  • Elasticsearch单个索引数据量过大的优化
  • Java安全 CC链1分析(Lazymap类)
  • 【lesson51】信号之信号处理
  • 分享springboot框架的一个开源的本地开发部署教程(若依开源项目开发部署过程分享持续更新二开宝藏项目MySQL数据库版)
  • leetcode:131.分割回文串
  • Linux下的json-c
  • [C#] 如何使用ScottPlot.WPF在WPF桌面程序中绘制图表
  • 如何修复Mac的“ kernel_task” CPU使用率过高的Bug?
  • 【NodeJS】006- API模块与会话控制介绍d
  • [UI5 常用控件] 08.Wizard,NavContainer
  • EasyExcel分页上传数据
  • Spring Native 解放 JVM
  • 汇编的两道题
  • Seurat - 聚类教程 (1)
  • Mac 版 Excel 和 Windows 版 Excel的区别
  • 【报错解决】-bash: export: `-8‘: not a valid identifier 不是有效的标识符
  • Docker-Learn(三)创建镜像Docker(换源)
  • 「递归算法」:二叉树剪枝
  • Kafka下载(kafka和jdk、zookeeper、SpringBoot的版本对应关系)
  • 自然语言NLP
  • 容器库(5)-std::list
  • 配置VMware实现从服务器到虚拟机的一键启动脚本
  • 第5讲小程序微信用户登录实现