String to Integer (atoi)

来源:互联网 发布:mac的option键 编辑:程序博客网 时间:2024/06/14 05:20

这函数真完爆各语言的库……做完了各种边界真是脑洞大补。

Java 版:

public class Solution {    public int atoi(String str) {        str = str.trim();        char[] array = str.toCharArray();        int len = array.length;        if(len==0){            return 0;        }        long sum = 0;        boolean isNeg = false;        if(array[0]=='-'){            isNeg = true;        }else if(Character.isDigit(array[0])){            sum = array[0] - '0';        }else if(array[0]!='+'){            return 0;        }        for(int i=1;i<len;i++){            if(Character.isDigit(array[i])){                sum = array[i] - '0' +sum*10;            }            else{                break;            }        }        if(isNeg){            sum = -1*sum;        }        if(sum>Integer.MAX_VALUE){        return Integer.MAX_VALUE;        }        if(sum<Integer.MIN_VALUE){            return Integer.MIN_VALUE;        }        return (int)sum;    }}


0 0
原创粉丝点击