1. 程式人生 > >實現atoi

實現atoi

atoi bool charat integer art code value lin spa

1. 去掉首位空格 2. 判斷首位是否有正負號 3. 判斷各位是否是0~9,有其他字符直接返回當前結果
 1 public class Solution {
 2     public int atoi(String str) {
 3         str = str.trim();
 4         int result = 0;
 5         boolean isPos = true;
 6         
 7         for(int i=0; i<str.length(); i++) {
 8             char c = str.charAt(i);
9 if(i==0 && (c == ‘+‘ || c == ‘-‘)) { 10 isPos = c == ‘+‘ ? true : false; 11 } else if(c >= ‘0‘ && c <= ‘9‘) { 12 if(result > (Integer.MAX_VALUE- (c-‘0‘))/10) { 13 return isPos ? Integer.MAX_VALUE : Integer.MIN_VALUE;
14 } 15 result = result * 10 + c - ‘0‘; 16 } else { 17 return isPos ? result : -result; 18 } 19 } 20 21 return isPos ? result : -result; 22 } 23 }

實現atoi