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

LeetCode : string to integer (atoi)

时间:2014-07-30 11:57:03      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   io   2014   art   

bubuko.com,布布扣

解法:考虑多种情况

bubuko.com,布布扣
 1 #include<cctype>
 2 
 3 class Solution {
 4 public:
 5     int atoi(const char *str) {
 6         int signal = 0;          /*标记正负,还未出现判定正负的标志时,记为0*/
 7         long long tmp = 0;
 8 
 9         if(*str == \0)
10             return 0;
11         while(*str != \0)
12         {
13             if(*str ==   && signal != 0)  /*表明空格前以出现过数字*/
14             {
15                 break;
16             }
17             if(*str == +)
18             {
19                 if(signal == 0)     /*出现正号之前没有出现过数字*/
20                     signal = 1;
21                 else
22                     break;
23             }
24             if(*str == -)
25             {
26                 if(signal == 0)
27                     signal = -1;
28                 else
29                     break;
30             }
31             if(*str >= 0 && *str <= 9)
32             {
33                 if(signal == 0)      /*出现数字之前没出现正负号*/
34                     signal = 1;
35                 tmp = tmp*10+((*str)-0);
36             }
37             if((tmp*signal)>2147483647)
38                 return INT_MAX;
39             if((tmp*signal)<-2147483648)
40                 return INT_MIN;
41             if((!isdigit(*str)) && (*str!=+) && (*str!=-) && (*str!= ))
42             {
43                 break;
44             }
45             str++;
46         }
47         if(signal == 0)
48             return 0;
49         else 
50             return tmp*signal;
51     }
52 };
View Code

 

LeetCode : string to integer (atoi),布布扣,bubuko.com

LeetCode : string to integer (atoi)

标签:style   blog   http   color   os   io   2014   art   

原文地址:http://www.cnblogs.com/crystal-miao/p/3877432.html

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