zoukankan      html  css  js  c++  java
  • 49把字符串转换成整数

    题目描述

    将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0

    输入描述:

    输入一个字符串,包括数字字母符号,可以为空

    输出描述:

    如果是合法的数值表达则返回该数字,否则返回0

    示例1

    输入

    +2147483647
    1a33

    输出

    2147483647
    0



    需要注意的:

    只有正负号
    带正负号
    空字符
    非法字符

     1 # -*- coding:utf-8 -*-
     2 class Solution:
     3     def StrToInt(self, s):
     4         if(len(s)==0):
     5             return 0 #空字符
     6         res=''
     7         neg = False
     8         if(s[0]=='+' or s[0]=='-'):
     9             if(len(s)==1):  #只包含正负号
    10                 return 0
    11             neg = (s[0]=='-')
    12             s=s[1:]
    13         for i in s:
    14             if(i >='0' and i<='9'):
    15                 res+=i
    16             else:
    17                 return  0  #包含非法字符
    18         return -int(res)if neg else int(res) #判断正负
  • 相关阅读:
    参考__JAVA
    债券价格和通胀率
    C++ 面试题
    欧式和美式期权
    explicit
    smart pointer
    const pointer
    manacher-马拉车算法
    输入有空格的字符串的2种方法
    bind()与connect()——计网中socket的使用
  • 原文地址:https://www.cnblogs.com/zle1992/p/8206720.html
Copyright © 2011-2022 走看看