zoukankan      html  css  js  c++  java
  • [leetcode]String to Integer (atoi)

    class Solution {
    public:
        int myAtoi(string str) {
            long long sum = 0;
            int temp1 = 1;
            int max1 = 0x7fffffff;  
            int min1 = 0x80000000;  
            if(str.length() == 0 ) return 0;
            int k = 0;
            while(str[k] == ' ')
            {
                k++;
            }
            if(str[k] == '-') {temp1=-1;k++;}
            else if(str[k] == '+') {k++;}
            
            for(int i = k ; i < str.length(); i++)
            {
                
                if(str[i] >= '0' && str[i] <= '9')
                {
                     sum = sum*10 + (str[i]-'0');
                     if(sum > max1 || sum < min1)    
                     {
                        if(temp1 == -1)
                         {
                             return min1;
                         }
                        return max1;
                    }
               }
                else break;
            }
            sum *= temp1;
            return (int)sum;
        }
    };
    View Code

    String to Integer (atoi) 

    这题是我做的比较麻烦的一道题。要考虑:

    1、溢出

    2、开头只能+ - 之后如果出现+ - 则错误。

    3、空格考虑。

    4、以及你定义的sum能否装得下溢出,因为要判断是否超过最大最小值。

    总之,考虑的挺全。很锻炼人。面试必备啊简直

  • 相关阅读:
    esp32-智能语音-mp3(sdcard)
    esp32-智能语音-ADF_PATH
    esp32-智能语音-wifi
    esp32-智能语音-led驱动
    esp32-智能语音-设计硬件问题
    技小新学习
    TVS管和ESD管
    电源IC
    天线2.4G阻抗匹配设计
    AD16建立集成库
  • 原文地址:https://www.cnblogs.com/yusenwu/p/4896004.html
Copyright © 2011-2022 走看看