【leetcode】8. 字符串转换整数 (atoi)

 

/* 方法2 */
int myAtoi(char *str)
{
    long n = 0;
    int sign = 0;
    /* 跳过空格 */
    while (*str == ' ') ++str;
    /* 判断符号 */
    if(*str == '-' || *str == '+') { 
        sign = (*str == '-'); 
        ++str; 
    } 
    while (isdigit(*str)) {
        if (10 * n + *str - '0' > INT_MAX) {
            return sign ? INT_MIN : INT_MAX; //判断溢出
        }
        n = 10 * n + *str - '0'; 
        ++str; 
    }
    return sign ? -n : n;
}

 

posted @ 2020-12-07 10:27  温暖了寂寞  阅读(90)  评论(0编辑  收藏  举报