題目描述
將一個字符串轉換成一個整數(實現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;
}
}