String to Integer (atoi)

来源:互联网 发布:jdbc连接两个数据库 编辑:程序博客网 时间:2024/04/26 20:54

这题的数据好多要注意的细节

class Solution {    public:        int atoi(const char *str) {         int l = strlen(str);         long long sum = 0, k = 0;         bool f = 0;         for(k = 0; k < l; k++){            if(str[k] == ' ') continue;            else if(str[k] == '-') {f = 1;k++;break;}            else if(str[k] == '+') {k++;break;}            else break;          }         for(int i = k; i < l; i++){            if(str[i] <= '9' && str[i] >= '0')            {               sum = str[i]-'0' + sum*10;            if(f && (-sum <= INT_MIN))             return INT_MIN;            if(!f && sum >= INT_MAX)             return INT_MAX;            }           else break;         }        if(f) sum *= -1;        return sum;        }};


0 0