字符串轉整數
阿新 • • 發佈:2018-08-27
空字符 pub code 越界 必須 als i++ while amp 1.註重的點在數字是否越界是否為空 數字必須是連續的,例如“+0 213”就是不合法的
public static int myAtoi(String str) {
int num=0;
int flag=1;
int i=0;
int pre=0;
str=str.trim();//去除空字符串
if(str.length()==0 ||str.equals("-")||str.equals("+")){
return 0;
}
public static int myAtoi(String str) {
int num=0;
int flag=1;
int i=0;
int pre=0;
str=str.trim();//去除空字符串
if(str.length()==0 ||str.equals("-")||str.equals("+")){
return 0;
}
System.out.println("str===>>>"+str); if(str.charAt(0)==‘-‘||str.charAt(0)==‘+‘){ flag=str.charAt(0)==‘-‘?-1:1; i++; } while(i<str.length()&&str.charAt(i)>=‘0‘&&str.charAt(i)<=‘9‘){ pre=num; num=num*10+str.charAt(i++)-‘0‘; System.out.println("num:"+num+"===flag===>>"+flag); if(num/10!=pre){//如果乘以10之後的數與除10值後的數不相等 則證明該數越界 return (flag == 1) ? Integer.MAX_VALUE : Integer.MIN_VALUE; } } return num * flag; }
字符串轉整數