• 剑指offer48-把字符串转换成整数


    题目描述

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

    输入描述:

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

    输出描述:

    如果是合法的数值表达则返回该数字,否则返回0;
    以下解答牛客网,通过率85%,测试用例-2147483649,无法在int中保存;
        int StrToInt(string str) {
            //正负,越界,2的31次方2147483648
            //int范围是-2^31,2^31-1;
            if(str==""||str[0]=='0') return 0;
            
            int i=0;

            long long res=0;
            if(str[0]=='+'||str[0]=='-'){i++;}
            while(str[i]!='')
            {
                if(str[i]>'9'||str[i]<'0')return 0;
                res=res*10+(str[i]-'0');
                i++;
            }
           //if(str[0]=='-'&&res>2147483648)return 0;
            //if(str[0]!='-'&&res>2147483647)return 0;
            return (str[0]=='-')?-res:res;
            //return res;
            //-2147483649输出为原值,已超过int能存储的范围
        }

  • 相关阅读:
    ROW_NUMBER() OVER (PARTITION BY yy ORDER BY zz) in Linq
    Oracle-sql分页方法
    Lambda
    ISNULL做简单的显示字段逻辑
    Select2使用方法汇总
    mysqldump 定时备份数据(全量)
    ubuntu16.10下安装erlang和RabbitMQ
    XShell连接本地Ubuntu虚拟机
    Haroopad 安装到 Mac OSX
    Swagger 生成API文档
  • 原文地址:https://www.cnblogs.com/trouble-easy/p/12980505.html
Copyright © 2020-2023  润新知