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

8. String to Integer (atoi)

时间:2018-07-03 20:04:26      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:lse   wing   class   als   ios   false   amp   div   min   

 1 static int wing=[]()
 2 {
 3     std::ios::sync_with_stdio(false);
 4     cin.tie(NULL);
 5     return 0;
 6 }();
 7 
 8 class Solution 
 9 {
10 public:
11     int myAtoi(string str) 
12     {
13         int flag=1,i=0,base=0;
14         while(str[i]== )
15             i++;
16         if(str[i]==-||str[i]==+)
17         {
18             flag= (str[i]==-)?-1:1;
19             i++;
20         }
21         while(isdigit(str[i]))
22         {
23             if(base>INT_MAX/10||(base==INT_MAX/10&&str[i]-0>7))
24                 return flag==1? INT_MAX:INT_MIN;
25             base=10*base+(str[i++]-0);
26         }
27         return base*flag;
28     }
29 };

边扫描边转换,同时判定溢出。

8. String to Integer (atoi)

标签:lse   wing   class   als   ios   false   amp   div   min   

原文地址:https://www.cnblogs.com/zhuangbijingdeboke/p/9259982.html

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