LeetCode: 8. String to Integer 【java 解题】

来源:互联网 发布:一淘和淘宝到底哪个好 编辑:程序博客网 时间:2024/06/09 19:21

题目难度: Easy
关键字: Math String
相关问题:(E) Reverse Integer, (H) Valid Number
题目要求:
Implement atoi to convert a string to an integer.

Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input cases.

Notes: It is intended for this problem to be specified vaguely (ie, no given input specs). You are responsible to gather all the input requirements up front.

题解:

public class Solution {    public static int myAtoi(String str) {        str = str.trim();        long digit = 0;        char a;        boolean s = true;        int i = 0;        if(str.length() < 1)            return 0;        if(str.charAt(0) == '-') {            s = false;            i++;        } else if(str.charAt(0) == '+')            i++;        for(; i < str.length(); i++) {            a = str.charAt(i);            if(a >= '0' && a <= '9') {                if(s) {                    digit = digit * 10 + (a - '0');                    if(digit > Integer.MAX_VALUE)                        return Integer.MAX_VALUE;                    }                else                    digit = digit * 10 - (a - '0');                    if(digit < Integer.MIN_VALUE)                        return Integer.MIN_VALUE;            } else                break;            }        return (int) digit;    }}
0 0