zoukankan      html  css  js  c++  java
  • 剑指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能存储的范围
        }

  • 相关阅读:
    (转)HTTP协议
    函数深入理解---函数的定义方式
    DOM模型和事件处理---事件处理
    DOM模型和事件处理---节点操作
    DOM模型和事件处理---基本操作
    常用知识
    窗口对象
    简单的事件处理
    Grunt
    基本操作
  • 原文地址:https://www.cnblogs.com/trouble-easy/p/12980505.html
Copyright © 2011-2022 走看看