" 010" " +004500" " -001+2a42" " +0 123" "-2147483648" "2147483648" " - 321" " -11919730356x" "9223372036854775809"
10 4500 -1 0 -2147483648 2147483647 0 -2147483648 2147483647
public static int myAtoi(String str) {
if(str==null||str.length()==0)
return 0;
char[] array = str.toCharArray();
long result = 0; // 要返回的结果result
int count = 0; // 记录‘+'或者‘-'出现的次数
int num = 0; // 判断空格出现的位置
int flag = 1; // 正数还是负数
for (int i = 0; i < array.length; i++) {
Character c = array[i];
if(c>='0'&&c<='9'){
result = result*10+c-'0';
// 判断是否溢出
if(flag==1&&result>Integer.MAX_VALUE){
return Integer.MAX_VALUE;
}else if(flag==-1&&-result<Integer.MIN_VALUE)
return Integer.MIN_VALUE;
num++;
}else if(c==' '&&num==0&&count==0)
continue;
else if(c=='+'&&count==0){
count = 1;
}
else if(c=='-'&&count==0){
flag = -1;
count = 1;
}
else{
return (int) (flag*result);
}
}
return (int) (flag*result);
}
for (int i = 0; i < array.length; i++) {
Character c = array[i];
if(Character.isDigit(c)){
result = result*10+Character.getNumericValue(c);
if(flag==1&&result>Integer.MAX_VALUE){
return Integer.MAX_VALUE;
}else if(flag==-1&&-result<Integer.MIN_VALUE)
return Integer.MIN_VALUE;
num++;
}else if(Character.isSpaceChar(c)&&num==0&&count==0)
continue;
else if(c=='+'&&count==0){
count = 1;
}
else if(c=='-'&&count==0){
flag = -1;
count = 1;
}
else{
return (int) (flag*result);
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有