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 };

 

posted @ 2020-03-15 18:17  Jinxiaobo0509  阅读(133)  评论(0)    收藏  举报