8. 字符串转换整数 (atoi)
1 class Solution 2 { 3 public: 4 int myAtoi(string str) 5 { 6 long long res = 0; 7 bool flag = true; 8 bool jisuan = false; 9 for(int i = 0;i < str.size();i ++) 10 { 11 if(str[i] == ' ' && !jisuan) continue; 12 else if(isdigit(str[i])) 13 { 14 jisuan = true; 15 res = res * 10 + str[i] - '0'; 16 if(res > INT_MAX || res < INT_MIN) break; 17 } 18 else if(str[i] == '+' && !jisuan) 19 { 20 jisuan = true; 21 } 22 else if(str[i] == '-' && !jisuan) 23 { 24 flag = false; 25 jisuan = true; 26 } 27 else break; 28 } 29 if(!flag) res = -1 * res; 30 if(res > INT_MAX) return INT_MAX; 31 if(res < INT_MIN) return INT_MIN; 32 return res; 33 } 34 };
Mamba never out

浙公网安备 33010602011771号