48.把字符串轉換成整數《劍指Offer》(Java版)

題目描述

將一個字符串轉換成一個整數(實現Integer.valueOf(string)的功能,但是string不符合數字要求時返回0),要求不能使用字符串轉換整數的庫函數。 數值爲0或者字符串不是一個合法的數值則返回0。

 

 

public class Solution {
   public int StrToInt(String str) {
        if (str == null || str.length() == 0) {
            return 0;
        }
        int flag = 0;
        int i = 0;
        while(str.charAt(i) == ' '){
            i++;
        }
        if (str.charAt(i) == '+') {
            flag = 1;
            i++;
        } else if (str.charAt(i) == '-') {
            flag = -1;
            i++;
        }
        int len = str.length();
        int res = 0;
        while (i < len) {
            char a = str.charAt(i);
            if (a >= '0' && a <= '9') {
                int k = a - '0';
                res = res * 10 + k;
            } else {
                return 0;
            }
            i++;
        }
        if (flag == 0) {
            return res;
        }
        return flag * res;
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章