题目:
将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。
思路:
给个flag判断第一个元素,之后循环判断就可以完成任务了。
代码:
public class Solution {
public int StrToInt(String str) {
char[] arr = str.toCharArray();
if( "".equals(str) ) return 0;
int flag = 1;
int ret = 0;
int temp = 0;
if( arr[0] == '+' ){
flag = 1;
temp = 1;
}else if( arr[0] == '-' ){
flag = -1;
temp = 1;
}
for(int i=temp; i<arr.length; i++){
if( arr[i] < '0' || arr[i] > '9' ) return 0;
ret = ret * 10 + (int)( arr[i] - '0' );
}
return ret * flag;
}
}
网友评论