美文网首页程序员
力扣 8 字符串转换整数 (atoi)

力扣 8 字符串转换整数 (atoi)

作者: zhaojinhui | 来源:发表于2020-11-09 07:24 被阅读0次

题意:把字符串转换成数字

思路:便利字符串,处理每一种可能出现的情况,空格,+,-,数字,其他字符

思想:字符串组合

复杂度:时间O(n),空间O(n)

class Solution {
    public int myAtoi(String s) {
        long res = 0;
        // 记录数字是否已经开始统计
        boolean isStart = false;
        // 记录数字是正数还是负数
        boolean isNegative = false;
        
        for(char i: s.toCharArray()) {
            if(i == ' ' && !isStart) {
                continue;
            } else if(i == '-') {
                if(isStart)
                    break;
                isStart = true;
                isNegative = true;
            } else if(i == '+') {
                if(isStart)
                    break;
                isStart = true;
            } else if(i <= '9' && i >='0'){
                res = res * 10 + (i - '0');
                if(isNegative && (0-res) <= (long)Integer.MIN_VALUE)
                    return Integer.MIN_VALUE;
                else if(res > (long)Integer.MAX_VALUE)
                    return Integer.MAX_VALUE;
                isStart = true;
            } else {
                if(isStart)
                    break;
                return 0;
            }
        }
        if(isNegative)
            res = res * (-1);
    
        return (int)res;
    }
}

相关文章

网友评论

    本文标题:力扣 8 字符串转换整数 (atoi)

    本文链接:https://www.haomeiwen.com/subject/qlokbktx.html