首页 > 技术文章 > 87 把字符串转化成整数

make-big-money 2020-03-17 20:39 原文

 

 

 1 class Solution {
 2 public:
 3     int StrToInt(string str) {
 4         if(str.size() == 0) return 0;
 5         
 6         int k;
 7         //去空格
 8         while(str.size() != 0 && str[k] == ‘ ’) k++;
 9         
10         bool is_minus = false;
11         long long num = 0;
12         
13        
14         //判断正负
15         if(str[k] == '+') k++;
16         else if(str[k] == '-') k++,is_minus = true;
17         
18         
19         //字符变数字
20         while(k < str.size() && str[k] >= '0' && str[k] <= '9')
21         {
22             num = num *10 + str[k] - '0';
23             k++;
24         }
25         
26         //处理特例
27         if(k == str.size()) 
28         {
29             if(is_minus) num *= -1;
30             if(num > INT_MAX) num = 0;
31             if(num < INT_MIN) num = 0;
32             return (int) num;
33         }
34         else return 0;
35 
36     }
37 };

 

推荐阅读