文章目录

  • 题目
    • 题目详情
    • 说明
    • 示例
  • 解题代码
    • 思路
    • 代码
    • 运行结果
    • 最佳方案

题目

题目详情

请你来实现一个 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) 。

解题代码

思路

目的是把字符串转换为整数

  1. 那么就要按照题目要求的去除其中的空格
  2. 再运用正则匹配出里面的数字
  3. 判断是否超过了32位整数的大小
  4. 最后得出结论

代码

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相关推荐

  1. 字符串转换整数python_Python将字符串转换为整数

    字符串转换整数python In this tutorial you'll see two ways to convert string to integer in python. 在本教程中,您将看 ...

  2. python 把带小数的浮点型字符串转换为整数的解决方案

    python 把带小数的浮点型字符串转换为整数的解决方案 参考文章: (1)python 把带小数的浮点型字符串转换为整数的解决方案 (2)https://www.cnblogs.com/mlgjb/ ...

  3. python整数转换字符串_Python | 将字符串转换为整数列表

    python整数转换字符串 Given a string with digits and we have to convert the string to its equivalent list of ...

  4. python字符串转整数_如何在Python中将字符串转换为整数

    Python中的所有数据类型(包括整数和字符串)都是对象.通常在编写Python代码时,您需要将一种数据类型转换为另一种数据类型.例如,要对表示为字符串的数字进行数学运算,需要将其转换为整数. 在本教 ...

  5. python字符串转换成整数_在Python中将字符串转换为整数的方法

    在本文中,我们将向你展示如何将Python字符串转换为整数,可在Linux操作平台上进行.Python中的所有数据类型(包括整数和字符串)都是对象,通常在编写Python代码时,你需要将一种数据类型转 ...

  6. 【剑指offer-Java版】49把字符串转换为整数

    字符串转换为整数 : atoi 可能的输入: 1 带符号数 2 无符号数 3 零 4 空指针 5 超出表示范围 – 暂时仅仅是直接退出且设置最小 – 可以考虑此时抛个异常 6 非法输入,比如并不是一个 ...

  7. 整数转化成字符串; 字符串转换为整数

    整数转化成字符串: 字符串转换为整数 /*整数转化成字符串*/ char *IntToStr(int num, char str[]) {int i = 0, j = 0;char temp[100] ...

  8. 【TypeScript】parseInt 函数将字符串转换为整数

    parseInt 函数 字符串转换为整数 parseInt() 函数解析一个字符串返回一个整数. 下面是一个示例: const a = parseInt("007"); 上述函数将 ...

  9. C语言字符串转换为整数(附完整源码)

    C语言字符串转换为整数 C语言字符串转换为整数完整源码 C语言字符串转换为整数完整源码 #include <assert.h> #include <stdio.h> #incl ...

最新文章

  1. Python中6种基本数据类型
  2. ValueError: y_true and y_pred contain different number of classes 9, 2. Please provide the true labe
  3. 怎么用python统计字数_使用Python 统计高频字数的方法
  4. @FeignClient 接口调用
  5. HotSpot 虚拟机垃圾回收算法实现
  6. 海神祭司被机器人拉出来_全联盟最不怕机器人钩子的四个英雄,最后一个巴不得被钩中...
  7. mysql to_minute_mysql的时间转化
  8. 关于php调用.net的web service 踩过的坑
  9. python工具用什么语言_Python中一些自然语言工具的使用的入门教程
  10. VC预处理指令与宏定义的妙用
  11. 一份神奇的礼物(1)
  12. Linux基础实操二
  13. 网友发来ifeng网址,打开后却是QQ空间,总提示QQ未登录?原来是一个阴险的诱骗网页...
  14. BZOJ3517 翻硬币
  15. mybatis代码自动生成工具-MyBatis Generator
  16. 汇编指令:CLD STD MOVS LODS STOS
  17. 风寒感冒一般低烧或者不发烧,清鼻涕。风热感冒一般有发烧比较厉害,黄鼻涕的反应
  18. 算法图解之狄克斯特拉算法实现
  19. 基于微信小程序的ARPainting项目简述
  20. GIS原理与技术-平时作业

热门文章

  1. 腾讯云与每日优鲜便利购战略签约 引领无人零售2.0时代发展
  2. Spring MVC前后端的数据传输
  3. notepad++ 快捷键
  4. windows下Bullet 2.82编译安装(Bullet Physics开发环境配置)
  5. 图论之拓扑排序 poj 2367 Genealogical tree
  6. sublime Text 开发工具
  7. Oracle学习笔记十三 触发器
  8. [Java基础] Java如何实现条件编译
  9. iOS培训objective-c——实例化对象
  10. linux(ubuntu)环境下安装及配置JDK