[Leetcode]String to Integer (atoi)
来源:互联网 发布:dota牛蛙淘宝店 编辑:程序博客网 时间:2024/06/05 18:18
发现之前的AC有问题,貌似系统也更新了,之前的做法现在也不能AC了,这是更改后的解答,重点在于处理溢出问题。
class Solution {public: int atoi(const char *str) { const char* cur = str; int flag = 1; int flag3 = 0; int res = 0;////设置大类型总不是解决之道。long long也会溢出 while(*cur==' ') cur++;///先过滤掉首部的空格 if(*cur=='-'||*cur=='+'){//再处理正负号 flag = *cur=='-'?-1:1; cur++; } while((*cur)!='\0'){ if(isNumber(*cur)){ if(res>INT_MAX/10)//不用再继续下去,肯定溢出 return flag==-1?INT_MIN:INT_MAX; int curNum = (*cur)-'0'; if(res == INT_MAX/10){ if(flag==-1&&curNum>8)//对于负数 return INT_MIN; if(flag==1&&curNum>=8)//对于整数 return INT_MAX; } res = 10*res+curNum; } else break; cur++; } return res*flag; } bool isNumber(char c){ return c>='0'&&c<='9'; } };
0 0
- LeetCode:String to Integer (atoi)
- LeetCode: String to Integer (atoi)
- LeetCode String to Integer(atoi)
- LeetCode :String to Integer (atoi)
- Leetcode: String to Integer (atoi)
- Leetcode : String to Integer (atoi)
- 【leetcode】String to Integer (atoi)
- [LeetCode]String to Integer (atoi)
- LeetCode-String to Integer (atoi)
- [leetcode] String to Integer (atoi)
- LeetCode - String to Integer (atoi)
- 【leetcode】String to Integer (atoi)
- LeetCode - String to Integer (atoi)
- LeetCode: String to Integer (atoi)
- Leetcode: String to Integer (atoi)
- [LeetCode] String to Integer (atoi)
- leetcode String to Integer (atoi)
- [LeetCode]String to Integer (atoi)
- 黑马程序员_java_网络编程
- 100个程序员经常去的网站转载自:http://developer.51cto.com/art/201104/255227.htm
- Redis need tcl 8.5 or newer
- admob 广告Android不显示
- Linux常用命令
- [Leetcode]String to Integer (atoi)
- Spring 事务隔离级别
- 工作过程中学到的正则表达式
- C语言中Uint8_t数据类型
- XML解析的三种方式总结
- ios调用dismissViewController的一个小陷阱
- 【cocos2dx网络游戏】搭建CS架构的基本通信框架(一)server
- NSArray 和 NSMutableArray 定义和基本用法
- Download interrupted: URL not found.