String——string-to-integer-atoi

来源:互联网 发布:受警醒明底线知敬畏 编辑:程序博客网 时间:2024/06/07 02:13

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.

Analysis

The following cases should be considered for this problem:

1. null or empty string2. white spaces3. +/- sign4. calculate real value5. handle min & max
public class Solution {    public int atoi(String str) {        if(str == null||str.trim().length() == 0)            return 0;        str=str.trim();//考虑前后有空格的出现        char[]ch=str.toCharArray();        long sum=0;        int flag=1;        for(int i=0;i<ch.length;i++)            {            if(ch[i]<'0'||ch[i]>'9')                {                if(i == 0)                    {                    if(ch[i] == '+')                        continue;                    else if(ch[i] == '-')                        {                        flag=-1;                        continue;                    }                    else                        break;//"123a123"这种情况,打印123                }                else                    break;            }            sum=sum*10+ch[i]-'0';        }        sum=sum*flag;        if(sum>Integer.MAX_VALUE)            return Integer.MAX_VALUE;        if(sum<Integer.MIN_VALUE)            return Integer.MIN_VALUE;        return (int)sum;    }}










啊实打实的

0 0