String to Integer (atoi)
来源:互联网 发布:手机淘宝能货到付款吗 编辑:程序博客网 时间:2024/04/26 20:06
原题链接
问题:将字符串转换为整数,最大值IN_MAX = 2147483647,最小值 IN_MIN = -2147483648,超过范围,返回边界值。
考虑的问题:
1)前导空格
2)符号 ‘+’,‘-’
3)为了能够判断转换后的值是大于IN_MAX 或小于IN_MIN,存储结果用无符号整形。
//code
class Solution{public:int atoi(const char *str){const int IN_MAX = 2147483647;const int IN_MIN = -2147483648;const char *cur = str;unsigned int re = 0;int sig = 1;//skip forehead blanks.while(*cur && *cur == ' ') ++cur; if(*cur == '\0') return 0;if(*cur == '-') {sig = -1; ++cur;}else if(*cur == '+'){ ++cur;}int cnt = 0;while (*cur && *cur >= '0' && *cur <= '9'){if(++cnt > 10)//big than INMAX{re = IN_MAX + 1;break;}re *= 10;re += *cur - '0';++cur;}if(re > IN_MAX && sig == -1)return IN_MIN;else if(re > IN_MAX && sig == 1)return IN_MAX;else return (int)re * sig;}};
0 0
- String to Integer (atoi)
- String to Integer (atoi)
- String to Integer (atoi)
- String to Integer (atoi)
- String to Integer (atoi)
- String to Integer (atoi)
- String to Integer (atoi)
- String to Integer (atoi)
- string to integer (atoi)
- String to Integer (atoi)
- String to Integer (atoi)
- String to Integer (atoi)
- String to Integer (atoi)
- String to Integer(atoi)
- String to Integer (atoi)
- String to Integer (atoi)
- String to Integer (atoi)
- String to Integer (atoi)
- gsoap读取的sqlite数据库,并编写为JSON格式
- 2013年五大主流浏览器 HTML5 和 CSS3 兼容性大比拼
- 采购接收会计期间未打开报错分析
- RTP封装h264
- sqlserver 行转列
- String to Integer (atoi)
- ubuntu安装klee后的测试
- CString类
- 深入理解android
- Android 4.0 应用程序接收不到广播
- ios 图文相关
- 疾步跑去开了灯
- 线程和进程
- JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)