您的位置:首页 > 其它

String——string-to-integer-atoi

2016-05-13 17:26 351 查看
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 string
2. white spaces
3. +/- sign
4. calculate real value
5. 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;
}
}


啊实打实的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: