试题:
将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。
代码:
public class Solution {
public int StrToInt(String str) {
if(str==null ||str.length()==0) return 0;
int num = 0;
for(int i = (str.charAt(0)=='-' || str.charAt(0) == '+')?1:0; i < str.length(); i++){
if( str.charAt(i)<'0' || str.charAt(i)>'9' ) return 0;
num = (num << 1) + (num << 3) + (str.charAt(i) & 0xf);
}
return str.charAt(0)=='-'?-num:num;
}
}