题解 | #把字符串转换成整数(atoi)#

把字符串转换成整数(atoi)

https://www.nowcoder.com/practice/d11471c3bf2d40f38b66bb12785df47f

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param s string字符串 
 * @return int整型
 */
#define INT_MAX 2147483647
#define INT_MIN -2147483648

int StrToInt(char* s ) {
    // write code here
    long long res = 0;
    int nagFlag = 0;    //负数标志位
    //去除前导空格
    while(*s == ' ')s++;
    //符号位处理
    if(*s == '+'){
        s++;            //跳过符号位
    }else if(*s == '-'){
        s++;
        nagFlag = 1;
    }
    //获取有效数字
    while(*s >= '0' && *s <='9'){
        res *= 10;
        res += *s - '0';
        s++;
        //判断是否超过int的表示范围
        if(nagFlag == 0 && res > INT_MAX){
            res = INT_MAX;
            break;
        }else if(nagFlag == 1 && -res < INT_MIN){
            res = INT_MIN;
            break;
        }
    }
    if(nagFlag == 1)    //如果是负数
        res *= -1;
    return (int)res;
}

全部评论

相关推荐

10-29 15:51
嘉应学院 Java
后端转测开第一人:你把简历的学历改成北京交通大学 去海投1000份发现基本还是没面试
点赞 评论 收藏
分享
10-30 19:23
已编辑
山东大学(威海) C++
牛至超人:我了个雷 1.实习经历写太长了吧,精简一点,你写那么老多,面试官看着都烦 2.项目经历你放俩竞赛干啥单独拿出来写上几等奖就行了呗 3.一大雷点就是项目经历里的那个课程设计,大家都知道课程设计巨水,不要写课程设计,换一个名字,就叫学生管理系统,面试官问就说是自己做的项目,不要提课程设计的事 4.那个交流经历,简化一下塞到最上面的教育经历里就行了 5.简历尽量一页纸
点赞 评论 收藏
分享
🎓学历背景:双非土木硕👨‍💻意向职位:AI应用开发大佬们可以帮我看看简历吗,秋招至今0offer
秋招结束再玩瓦:今年科班都不好找哇……你可以试试交叉岗,比如制造业国企的一些开发算法,或者互联网的边缘岗,it技术支持,运维这些
我的简历长这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务