• LeetCode 8. String to Integer (atoi)


    LeetCode 8. String to Integer (atoi)

    标签(空格分隔): LeetCode


    题目大意就是给你一个字符串,使它转化成数字

    • 去除前导0
    • 判断起始位置为正负号,数字或者其他字符。
    • 如果是数字,使以前的数字乘以10加上现在的数字。不是数字直接返回值就可以了
    class Solution
    {
    public:
        int myAtoi(string str)
        {
            int i = 0;
            while(str[i] == ' ')
                i ++;
    
            long long ans = 0, m = 1;
            if(str[i] == '-')
                m = -1;
            else if(str[i] == '+')
                m = 1;
            else if(str[i] >= '0' && str[i] <= '9')
                ans = ans * 10 + str[i] - '0';
            else
                return ans;
    
            for(i = i+1; i<str.size(); ++ i)
            {
                if(str[i] >= '0' && str[i] <='9')
                    ans = ans * 10 + str[i] - '0';
                else
                    return ans * m;
                    
                if(ans > INT_MAX)
                {
                    if(m == 1)
                        return INT_MAX;
                    else
                        return INT_MIN;
                }
            }
            return ans * m;
        }
    };
    
  • 相关阅读:
    Arrays类
    异常
    Java日志第53天 2020.8.29
    Java日志第52天 2020.8.28
    Java日志第55天 2020.8.31
    Java日志第54天 2020.8.30
    测试:ATM
    dear mother
    Spring
    People like me
  • 原文地址:https://www.cnblogs.com/aiterator/p/6516282.html
Copyright © 2020-2023  润新知