AcWing
  • 首页
  • 题库
  • 题解
  • 分享
  • 问答
  • 活动
  • 应用
  • 吐槽
  • 登录/注册

AcWing 87. 把字符串转换成整数    原题链接    中等

作者: 作者的头像   竹林正在青 ,  2019-08-14 22:50:19 ,  阅读 997


7


3
class Solution {
public:
    int strToInt(string str) {
        int k = 0; 
        //去空格
        while(k < str.size() && str[k] == ' ') k++;
        bool is_minus = false;
        long long num = 0;
        //判正负
        if(str[k] == '+') k++;
        else if(str[k] == '-') k++, is_minus = true;
        //字符变数字
        while(k < str.size() && str[k] >= '0' && str[k] <= '9') {
            num = num * 10 + str[k] - '0';
            k++;
        }
        //处理特例
        if(is_minus) num *= -1;
        if(num > INT_MAX) num = INT_MAX;
        if(num < INT_MIN) num = INT_MIN;
        return (int) num;
    }
};

3 评论


用户头像
马里奥   8个月前     回复

应该算的时候就判断边界 不然会溢出

用户头像
竹林正在青   8个月前     回复

不会的,long long哦

用户头像
马里奥   8个月前    回复了 竹林正在青 的评论     回复

好吧,这样就多算了一些

你确定删除吗?

© 2018-2021 AcWing 版权所有  |  京ICP备17053197号-1
联系我们  |  常见问题
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标
请输入绑定的邮箱地址
请输入注册信息