资讯专栏INFORMATION COLUMN

实现atoi函数(string转integer)

leanote / 2897人阅读

摘要:实现函数转思路利用内置的函数可以将字符串快速转换成型利用是否抛出异常来快速判断能否被转换成,进而迅速确定输入字符串中第一个非数字字符的位置需要注意处理符号的问题代码如果是或者但是会抛出异常,此时返回由于的没有取值上限,如果规定为

实现atoi函数(string转integer) String to Integer (atoi)

Implement atoi to convert a string to an integer.

Hint: Carefully consider all possible input cases.

Notes: It is intended for this problem to be specified vaguely (ie, no given input specs). You are responsible to gather all the input requirements up front..

Example 1:

Input: ""
Output: 0

Example 2:

Input: "+2"
Output: 2

Example 3:

Input: "+-2"
Output: 0

Example 4:

Input: "+"
Output: 0

Example 5:

Input: "-223pasudasd"
Output: -223
思路

利用Python内置的int(str)函数可以将字符串快速转换成int型

利用int(str)是否抛出异常来快速判断str能否被转换成int,进而迅速确定输入字符串中第一个非数字字符的位置

需要注意处理+,-符号的问题

代码
class Solution(object):
    def myAtoi(self, s):
        """
        :type s: str
        :rtype: int
        """
        s = s.strip()
        retstr = ""
        try:
            for _, item in enumerate(s):
                if item == "+" or item == "-":
                    retstr += item
                else:
                    retstr += str(int(item))
        finally:
            if len(retstr) == 0:
                return 0
            else:
                try:
                    # 如果 retstr 是 "-" 或者 "+",len(retstr) != 0 但是会抛出异常,此时返回0
                    # 由于python的int没有取值上限,如果规定int为32位,需要判断int(retstr)是否大于2147483647或者小余-2147483648
                    return int(retstr)
                except:
                    return 0

本题以及其它leetcode题目代码github地址: github地址

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/38652.html

相关文章

  • [Leetcode] String to Integer (atoi) 字符串整数

    摘要:通用方法复杂度时间空间思路字符串题一般考查的都是边界条件特殊情况的处理。所以遇到此题一定要问清楚各种条件下的输入输出应该是什么样的。 String to Integer (atoi) Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input...

    Astrian 评论0 收藏0
  • Leetcode 8 String to Integer (atoi)

    摘要:难度是标准库中的一个函数可以将字符串表示的整数转换为现在要求我们自己来实现它解题过程中主要有以下两点需要注意字符串开头可能出现或者需要处理使用来记录中间结果防止溢出下面是的解法 Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. If ...

    cod7ce 评论0 收藏0
  • July 算法习题 - 字符串2 + Leetcode 8,9

    摘要:判断一条单向链表是不是回文解法可以借助栈,将遍历到的前半段链表节点放入栈,后半段每当遍历到一个,都要与出栈的节点相比较。如果中间出现不相等的情况,则不是回文。 [July 程序员编程艺术:面试和算法心得题目及习题][1] 字符串转换成整数 also Leetcode 8 String to Integer (atoi) 题目描述 输入一个由数字组成的字符串,把它转换成整...

    timger 评论0 收藏0
  • [LeetCode] 8. String to Integer (atoi)

    Problem Implement function atoi to convert a string to an integer. If no valid conversion could be performed, a zero value is returned. If the correct value is out of the range of representable values...

    cuieney 评论0 收藏0
  • #yyds干货盘点#“愚公移山”的方法解atoi,自以为巧妙!

    摘要:若函数不能执行有效的转换,返回。如果数值超过可表示的范围,则返回或。示例输入输出解释转换截止于数字,因为它的下一个字符不为数字。 这是我参与11月更文挑战的第12天。一、写在前面LeetCode 第一题两数之和传输门:听说你还在写双层for循环解两数之和?LeetCode 第二题两数之和传输门:两个排序数组的中...

    番茄西红柿 评论0 收藏2637

发表评论

0条评论

最新活动
阅读需要支付1元查看
<