leetcode--字符串转换为整数--python
文章目录
- 题目
- 题目详情
- 说明
- 示例
- 解题代码
- 思路
- 代码
- 运行结果
- 最佳方案
题目
题目详情
请你来实现一个 atoi 函数,使其能将字符串转换成整数。
首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。
当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。
该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,它们对于函数不应该造成影响。
注意:假如该字符串中的第一个非空格字符不是一个有效整数字符、字符串为空或字符串仅包含空白字符时,则你的函数不需要进行转换。
在任何情况下,若函数不能进行有效的转换时,请返回 0。
说明
假设我们的环境只能存储 32 位大小的有符号整数,那么其数值范围为 [−231, 231 − 1]。如果数值超过这个范围,qing返回 INT_MAX (231 − 1) 或 INT_MIN (−231) 。
示例
输入: "42"
输出: 42
输入: " -42"
输出: -42
解释: 第一个非空白字符为 '-', 它是一个负号。我们尽可能将负号与后面所有连续出现的数字组合起来,最后得到 -42 。
输入: "4193 with words"
输出: 4193
解释: 转换截止于数字 '3' ,因为它的下一个字符不为数字。
输入: "words and 987"
输出: 0
解释: 第一个非空字符是 'w', 但它不是数字或正、负号。因此无法执行有效的转换。
输入: "-91283472332"
输出: -2147483648
解释: 数字 "-91283472332" 超过 32 位有符号整数范围。 因此返回 INT_MIN (−231) 。
解题代码
思路
目的是把字符串转换为整数
- 那么就要按照题目要求的去除其中的空格
- 再运用正则匹配出里面的数字
- 判断是否超过了32位整数的大小
- 最后得出结论
代码
import re
class Solution:def myAtoi(self,x):if x == "" or x.strip() == "" or not x: return 0x = x.strip() #去掉空格parrent = re.compile(u'^[+,-]?]\d+') #匹配数字ret = parrent.findall(x)if len(ret) == 0: return 0 if int(ret[0]) < -2 ** 31:return -2 ** 31if int(ret[0]) > 2 ** 31 - 1:return 2 ** 31 - 1return int(ret[0])
运行结果
最佳方案
在最优时间里面的一位大佬的方案,也是运用正则的思想取出数据,用时44ms:
class Solution:def myAtoi(self, str: str) -> int:import reres = re.findall("^[\+\-]?\d+",str.strip())# res = re.findall(r"^[\+\-]?\d+",str.strip())if len(res)!= 0:if int(res[0])>2**31-1:return (2**31-1)if int(res[0])<-2**31:return (-2**31)return int(res[0])else:return 0
leetcode--字符串转换为整数--python相关推荐
- 字符串转换整数python_Python将字符串转换为整数
字符串转换整数python In this tutorial you'll see two ways to convert string to integer in python. 在本教程中,您将看 ...
- python 把带小数的浮点型字符串转换为整数的解决方案
python 把带小数的浮点型字符串转换为整数的解决方案 参考文章: (1)python 把带小数的浮点型字符串转换为整数的解决方案 (2)https://www.cnblogs.com/mlgjb/ ...
- python整数转换字符串_Python | 将字符串转换为整数列表
python整数转换字符串 Given a string with digits and we have to convert the string to its equivalent list of ...
- python字符串转整数_如何在Python中将字符串转换为整数
Python中的所有数据类型(包括整数和字符串)都是对象.通常在编写Python代码时,您需要将一种数据类型转换为另一种数据类型.例如,要对表示为字符串的数字进行数学运算,需要将其转换为整数. 在本教 ...
- python字符串转换成整数_在Python中将字符串转换为整数的方法
在本文中,我们将向你展示如何将Python字符串转换为整数,可在Linux操作平台上进行.Python中的所有数据类型(包括整数和字符串)都是对象,通常在编写Python代码时,你需要将一种数据类型转 ...
- 【剑指offer-Java版】49把字符串转换为整数
字符串转换为整数 : atoi 可能的输入: 1 带符号数 2 无符号数 3 零 4 空指针 5 超出表示范围 – 暂时仅仅是直接退出且设置最小 – 可以考虑此时抛个异常 6 非法输入,比如并不是一个 ...
- 整数转化成字符串; 字符串转换为整数
整数转化成字符串: 字符串转换为整数 /*整数转化成字符串*/ char *IntToStr(int num, char str[]) {int i = 0, j = 0;char temp[100] ...
- 【TypeScript】parseInt 函数将字符串转换为整数
parseInt 函数 字符串转换为整数 parseInt() 函数解析一个字符串返回一个整数. 下面是一个示例: const a = parseInt("007"); 上述函数将 ...
- C语言字符串转换为整数(附完整源码)
C语言字符串转换为整数 C语言字符串转换为整数完整源码 C语言字符串转换为整数完整源码 #include <assert.h> #include <stdio.h> #incl ...
最新文章
- Python中6种基本数据类型
- ValueError: y_true and y_pred contain different number of classes 9, 2. Please provide the true labe
- 怎么用python统计字数_使用Python 统计高频字数的方法
- @FeignClient 接口调用
- HotSpot 虚拟机垃圾回收算法实现
- 海神祭司被机器人拉出来_全联盟最不怕机器人钩子的四个英雄,最后一个巴不得被钩中...
- mysql to_minute_mysql的时间转化
- 关于php调用.net的web service 踩过的坑
- python工具用什么语言_Python中一些自然语言工具的使用的入门教程
- VC预处理指令与宏定义的妙用
- 一份神奇的礼物(1)
- Linux基础实操二
- 网友发来ifeng网址,打开后却是QQ空间,总提示QQ未登录?原来是一个阴险的诱骗网页...
- BZOJ3517 翻硬币
- mybatis代码自动生成工具-MyBatis Generator
- 汇编指令:CLD STD MOVS LODS STOS
- 风寒感冒一般低烧或者不发烧,清鼻涕。风热感冒一般有发烧比较厉害,黄鼻涕的反应
- 算法图解之狄克斯特拉算法实现
- 基于微信小程序的ARPainting项目简述
- GIS原理与技术-平时作业