首页 > 其他 > 详细

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

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

题目:

技术分享图片

 

 

 

解答:

 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)

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!