劍指offer-將字串轉化為整數
阿新 • • 發佈:2018-12-16
49.將字串轉化為整數
題目描述
將一個字串轉換成一個整數(實現Integer.valueOf(string)的功能,但是string不符合數字要求時返回0),要求不能使用字串轉換整數的庫函式。 數值為0或者字串不是一個合法的數值則返回0。
輸入描述:輸入一個字串,包括數字字母符號,可以為空
解題思路:先將字串轉化為陣列,要將字串中的數字字元轉化為數值型,可以先將字元轉化為字串再轉化為數值型,或者將這個字元-‘0’,然後遍歷整個陣列,把數計算出來。
public int StrToInt(String str) { if(str==null || str.length()==0) return 0; char[] ch=str.toCharArray(); int symbol=1; if(ch[0]=='-') symbol=-1; int res=0; for(int i=(ch[0]=='+' || ch[0]=='-')?1:0;i<ch.length;i++) { if(ch[i]>'0' && ch[i]<'9') res=res*10+ch[i]-'0'; else return 0; } return res*symbol; }