字符串算法——String轉換爲Integer

問題:給定一個String,將其轉換爲Integer。
注:
1. 丟棄掉字符串前面的所有空格字符,直到遇到第一個非空格字符
2. 遇到第一個字符元素初始化整數的符號
3. 字符串可以包含其他字符,不影響字符的轉換,遇到非數字字符則停止轉換輸出整數
4. 如果轉化的整數超出整數的範圍,則輸出整數的最大值或者最小值

class Solution {
    public int myAtoi(String str) {
        if(str == null || str.length()<1){
            return 0;
        }
        str = str.trim();

        int flag = 1;
        int i = 0;
        //判斷符號
        if(str.charAt(i)=='-'){
            flag = -1;
            i++;
        }else if(str.charAt(i)=='+'){
            i++;
        }
        long result = 0;
        //字符轉換,判斷是否超出整數範圍
        while(str.length()>i && str.charAt(i)>='0'&&str.charAt(i)<='9'){
            result = result*10+(str.charAt(i)-'0');
            if(result*flag>Integer.MAX_VALUE){
                return Integer.MAX_VALUE;
            }
            if(result*flag<Integer.MIN_VALUE){
                return Integer.MIN_VALUE;
            }
            i++;
        }
        return (int)result*flag;
    }
}
發佈了42 篇原創文章 · 獲贊 2 · 訪問量 8875
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章