題目:
將一個(gè)字符串轉(zhuǎn)換成一個(gè)整數(shù)(實(shí)現(xiàn)Integer.valueOf(string)的功能处坪,但是string不符合數(shù)字要求時(shí)返回0)架专,要求不能使用字符串轉(zhuǎn)換整數(shù)的庫(kù)函數(shù)。 數(shù)值為0或者字符串不是一個(gè)合法的數(shù)值則返回0部脚。
思路:
給個(gè)flag判斷第一個(gè)元素,之后循環(huán)判斷就可以完成任務(wù)了丧没。
代碼:
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;
}
}