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

Posted ocpc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串面试题67. 把字符串转换成整数(atoi)相关的知识,希望对你有一定的参考价值。

题目:

技术图片

 

 

 

解答:

 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)的主要内容,如果未能解决你的问题,请参考以下文章

剑指Offer面试题67. 把字符串转换成整数

[LeetCode]面试题67. 把字符串转换成整数(字符串)

[LeetCode]面试题67. 把字符串转换成整数(字符串)

《剑指offer》第六十三题(把字符串转换成整数)

#yyds干货盘点# LeetCode面试题:字符串转换整数 (atoi)

剑指 Offer 67. 把字符串转换成整数