题目描述
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
public class Solution {
public int StrToInt(String str) {
if(str.length() == 0 || str == null){
return 0;
}
char[] ch = str.toCharArray();
boolean flag = true;
long num = 0;
for(int i = 0; i < ch.length; i++){
if(i == 0 && ch[i] == '-'){
flag = false;
}else if(i == 0 && ch[i] == '+'){
flag = true;
}else{
int a = (int)(ch[i] - '0');
if(a < 0 || a > 9){
return 0;
}
num = (flag == true) ? num * 10 + a : num *10 - a;
}
}
return (int)num;
}
}