Timo66

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Form today on, I changed to Math module question.

Question 1

String to Integer (atoi)

 Implement atoi to convert a string to an integer.
 
Remember one thing here. The result is initialized as a double, as it will * 10 later, where if it is integer, it will exceed the max limit. So make it as double here. 
 
public int myAtoi(String str) {
        if (str == null || str.length() == 0)
            return 0;
        str = str.trim();
        
        char flag = '+';
        int i = 0;
        if (str.charAt(0) == '-') {
            flag = '-';
            i++;
        } else if (str.charAt(0) == '+') {
            i++;
        }
            
        int result = 0;
        
        while (str.length() > i && str.charAt(i) >= '0' && str.charAt(i) <= '9') {
            result = result * 10 + (str.charAt(i) - '0');
            i++;
        }
        
        if (flag == '-')
        result = 0-result;
 
        // handle max and min
        if (result > Integer.MAX_VALUE)
            return Integer.MAX_VALUE;
     
        if (result < Integer.MIN_VALUE)
            return Integer.MIN_VALUE;
     
        return (int) result;
    }

 

posted on 2015-07-15 23:25  Timo66  阅读(149)  评论(0编辑  收藏  举报