字符串转换整数 (atoi)

    xiaoxiao2022-07-07  242

    int myAtoi(string str) { if (str.size() == 0)return 0; long num = 0; int flag = 1; int index = 0; for (size_t i = 0; i < str.size(); ++i) { if (str[i] == ' ') { if (index == 0) { continue; } else break; } else if(str[i]=='+'&&index==0) { index=1; continue; } else if (str[i] == '-') { if(index==0) { index=1; flag=-1; continue; } else break; } else if (str[i] < '0' || str[i]>'9') { if(index ==0) return 0; else { index = 1; break; } } else { num = num * 10 + str[i] - '0'; index = 1; } if (num*flag > INT_MAX) return INT_MAX; if (num*flag < INT_MIN) return INT_MIN; } return num*flag; }
    最新回复(0)