码迷,mamicode.com
首页 > 其他好文 > 详细

【字符串】面试题67. 把字符串转换成整数(atoi)

时间:2020-05-04 15:39:35      阅读:54      评论:0      收藏:0      [点我收藏+]

标签:面试题   图片   int   span   题目   pre   style   pac   git   

题目:

技术图片

 

 

 

解答:

 1 class Solution {
 2 public:
 3     int strToInt(string str) 
 4     {
 5         if (str.size() == 0)
 6         {
 7             return 0;
 8         }
 9 
10         int i = 0;
11         int minus = 1;
12 
13         // skip spaces
14         while (str[i] ==  )
15         {
16             i++;
17         }
18 
19         // get sign
20         if (str[i] == -)
21         {
22             minus = -1;
23             i++;
24         }
25         else if (str[i] == +)
26         {
27             minus = 1;
28             i++;
29         }
30 
31         // convert numbers
32         int num = 0;
33         while (isdigit(str[i]))
34         {
35             // 214748364 = INT_MAX / 10
36             if ((num == 214748364) && ((str[i] - 0) > 7) || (num > 214748364))
37             {
38                 return (minus > 0) ? INT_MAX : INT_MIN;
39             } 
40             num = 10 * num + (str[i] - 0);
41             i++;
42         }
43 
44         return (minus > 0) ? num : -num;
45     }
46 };

 

【字符串】面试题67. 把字符串转换成整数(atoi)

标签:面试题   图片   int   span   题目   pre   style   pac   git   

原文地址:https://www.cnblogs.com/ocpc/p/12826503.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!