String to Integer (atoi)
来源:互联网 发布:webpack java 编辑:程序博客网 时间:2024/04/23 23:22
溢出这里我没有找到很优雅的解决方案,目前只能是在左移之前,先判断左移后的结果是否会溢出,此时设计了一个long long型的数据来保存临时结果,这样就可以保证没有溢出。
class Solution {public: int atoi(const char *str) { char *p = (char *)str; while (*p != '\0') { if (*p == ' ' || *p == '\t' || *p == '\n') { ++p; continue; } break; } if (!(*p == '+' || *p == '-' || isValid(*p))) return 0; int sig = 1; if (*p == '+') { sig = 1; ++p; } else if (*p == '-') { sig = -1; ++p; } int res = 0; while (isValid(*p)) {long long test = (long long)res * 10 + (*p - '0');if (test > INT_MAX) {if (sig == 1)return INT_MAX;return INT_MIN;}res = test;++p;} return sig * res; } bool isValid(char c) { if (c >= '0' && c <= '9') return true; return false; }};
http://oj.leetcode.com/problems/string-to-integer-atoi/
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)
- ORA-01555超长的Query Duration时间
- android 禁用和开启四大组件的方法(setComponentEnabledSetting )
- 二分查找
- fedora 19(KDE)配置NFS
- layout、permission、test
- String to Integer (atoi)
- java中文件加锁机制
- TrustZone——硬件环境—SOC如何支持TrustZone
- 4G时代来临,百度何以大展拳脚?
- 更改matlab的帮助语言
- linux编译选项
- struts2学习之准备篇
- 漫谈C语言及如何学习C语言
- inux 学习书目推荐