String to Integer (atoi)

描述:

Implement atoi to convert a string to an integer.

class Solution {

    public int myAtoi(string str) {

        int n = str.length();

        if(n==0) return 0;

        int sign=1,i=0;

        while(str[i]==' ') i++;//空格
        //符号
        if(str[i]=='+') {i++;}

        else if(str[i]=='-') {sign=-1;i++;}
        //防止溢出(was int, which cause stack flow)

        long long ans=0;

        for(int j=i ;j<n;j++){

            if(str[j]>='0'&&str[j]<='9'){

                ans=ans*10+str[j]-'0';

                if(ans>INT_MAX)//若溢出

                    return sign<0? INT_MIN : INT_MAX;

            }

            else

                break;

        }

        ans *= sign;

        return (int)ans;//转换

    }

};

Last updated

Was this helpful?