08_String to Integer (atoi)
1.Question

2.Solution
public class Solution { public int myAtoi(String str) { int result = 0; long temp = 0; int flag = 1; if(str == null || str.equals("")){ return 0; } int len = str.length(); int k = 0; while(str.charAt(k) == ' '){ k++; } if(str.charAt(k) == '+'){ flag = 1;; } else if(str.charAt(k) == '-'){ flag = -1; }else if(!(str.charAt(k) >= '0' && str.charAt(k) <= '9' )){ return 0; }else{ result = str.charAt(k) - '0'; } temp = result; System.out.println(flag); for(int i = k + 1; i < len; i++){ if(str.charAt(i) >= '0' && str.charAt(i) <= '9' ){ temp = temp * 10 + str.charAt(i) - '0'; result = result * 10 + str.charAt(i) - '0'; System.out.println(temp); if (flag == 1 && temp > Integer.MAX_VALUE){ System.out.println(1); return Integer.MAX_VALUE; } if (flag == -1 && -1*temp < Integer.MIN_VALUE){ System.out.println(-1); return Integer.MIN_VALUE; } }else{ break; } } return flag * result; } }
3.Test

    http://www.cnblogs.com/makexu/

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号