zoukankan      html  css  js  c++  java
  • 【leetcode❤python】 8. String to Integer (atoi)

    #-*- coding: UTF-8 -*-
    #需要考虑多种情况
    #以下几种是可以返回的数值
    #1、以0开头的字符串,如01201215
    #2、以正负号开头的字符串,如‘+121215’;‘-1215489’
    #3、1和2和空格混合形式【顺序只能是正负号-0,空格位置可以随意】的:‘+00121515’
    #4、正数小于2147483647,负数大于-2147483648的数字
    #其他的情况都是返回0,因此在判断 是把上述可能出现的情况列出来,其他的返回0
    #AC源码如下
    class Solution(object):
        def myAtoi(self, str):
            """
            :type str: str
            :rtype: int
            """
            if str=="":return 0
            strl=[]
            count=0
            flag=0
            str=str.strip()
            for  c in str:
                if c>='1' and c<='9':
                    count+=1
                    strl.append(c)
                elif c=='0' and count!=0:
                    count+=1
                    strl.append(c)
                elif c=='-' and flag==0:
                    flag+=1
                    strl.append(c)
                elif c=='+' and flag==0:
                    flag+=1
                    strl.append(c)
                elif c=='0':continue
                else:break
            str=''.join(strl)
            if str=="":return 0
           
            if str[0]!='-'and str[0]!='+'  :return int(str) if int(str)<2147483647 else 2147483647
            elif str[0]=='-' and len(str)>1 :return -int(str[1:]) if int(str[1:])<2147483648 else -2147483648
            elif str[0]=='+' and len(str)>1 :return  int(str[1:]) if int(str[1:])<2147483647 else 2147483647
            return 0
                
    sol=Solution()
    print sol.myAtoi("-2147483648")



  • 相关阅读:
    dubbox 入门demo
    manjaro 安装后的基本配置
    ajax传递参数与controller接收参数映射关系
    如何等待ajax完成再执行相应操作
    Java之取余操作 "%"
    javascript基本属性访问对象的属性和方法
    jQuery之过滤选择器
    Spring Framework
    大佬帮忙看一下
    Python笔记
  • 原文地址:https://www.cnblogs.com/kwangeline/p/6059511.html
Copyright © 2011-2022 走看看