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

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

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

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @return int整型
     */
    int StrToInt(string s) {
        int index = 0;
        int n = s.length();
        for(auto c:s){
            if(c==' ') index++;
            else break;
        }
        int symbol = 1;
        if(s[index] == '-') {
            symbol = -1;
            index ++;
        }
        else if(s[index] == '+'){
            index++;
        }
        int res = 0;
        for(int i = index;i<n;i++){
            int ans = s[i]-'0';
            if(ans>9|| ans<0) break;
            if(res>INT_MAX/10 || (res==INT_MAX/10 && ans> INT_MAX%10)) return INT_MAX;
            if(res<INT_MIN/10 || (res==INT_MIN/10 && ans< INT_MIN%10)) return INT_MIN;
            res = res*10+ans*symbol;
        }
        return res;
    }
};
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-01 10:56
点赞 评论 收藏
分享
06-05 19:46
已编辑
武汉大学 后端
点赞 评论 收藏
分享
06-04 09:27
门头沟学院 Java
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-01 17:00
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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