标签:java leetcode 解题代码 leetcode java
题目:public class Solution {
public int myAtoi(String str) {
int num = 0;//转换后的数字
str = str.trim();//把空格删去
if(str.length()==0)
{
return 0;
}
boolean flag = false;//是否是负数
int i = 0;
if(str.charAt(i)=='-'||str.charAt(i)=='+')//第一位符号
{
if(str.charAt(i)=='-')
flag = true;
i++;
}
for(;i<str.length();i++)
{
if(str.charAt(i)<'0'||str.charAt(i)>'9')
break;
int dig = str.charAt(i)-'0';//当前位置数字
if(!flag&&(num >=Integer.MAX_VALUE/10))//@1
//如果正整数上届除以当前的num<10,
//则返回接近的数字。
return Integer.MAX_VALUE;
else if(flag&&(-num<(Integer.MIN_VALUE+dig)/10))//@2
return Integer.MIN_VALUE;
num = num*10+dig;
}
return flag?-num:num;
}
}
LeetCode 8 String to Integer (atoi)
标签:java leetcode 解题代码 leetcode java
原文地址:http://blog.csdn.net/vvaaiinn/article/details/45148733