题目描述
将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。
输入描述
输入一个字符串,包括数字字母符号,可以为空
输出描述
如果是合法的数值表达则返回该数字,否则返回0
代码实现
public class Solution {
public int StrToInt(String str) {
if(str.length() == 0)
return 0;
int flag = 0;
long strr = 0;
if(str.charAt(0) == '+')
flag++;
else if(str.charAt(0) == '-')
flag++;
for(int i = flag;i<str.length();i++){
if(str.charAt(i) > '9' || str.charAt(i) < '0')
return 0;
strr = strr * 10 + (str.charAt(i) - '0');
}
if(str.charAt(0) == '-'){
return -(int)strr;
}
else
return (int)strr;
}
}