leetcode 8: Sting to Integer (atoi)
2015-09-02 20:41
369 查看
class Solution { public: int myAtoi(string str) { int len=str.length(); int i=0; while(i<len&&str[i]==' ') i++; str=str.substr(i);//erase all white spaces int sign=1; if(str[0]=='-') { sign=-1; str=str.substr(1);//erase negative character } else if(str[0]=='+') str=str.substr(1);//erase positive character len=str.length(); int res=0; for(int i=0;i<len;i++) { if(str[i]<'0'||str[i]>'9') break; if(sign==1&&(INT_MAX-str[i]+'0')/10<res) { res=INT_MAX; break; } else if(sign==-1&&(INT_MIN+str[i]-'0')/10>-res) { sign=1; res=INT_MIN; break; } res=res*10+str[i]-'0'; } return res*sign; } };
相关文章推荐
- vim
- 使用C++11 开发一个半同步半异步线程池
- 我的编程之路
- mysqlbinlog 查看mysql bin 日志
- 漫谈程序员系列:怎样成为技术达人
- 欢迎使用CSDN-markdown编辑器
- JQuery总结
- JS使用DOM对元素进行添加和修改
- 黑马程序员—面向对象(1)
- Vim常用命令
- Android UI设计——ViewPager中设置底部显示圆点焦点(二)
- android studio mac :-bash: gradlew: command not found
- C语言正向链表栈的实现
- Java枚举,Java泛型详解
- JavaMail发件人乱码问题
- poj 2392 Space Elevator(多重背包+先排序)
- 烂泥:ubuntu下vsftpd虚拟用户配置
- Android小例子:圆角按钮、CheckBox使用、退出确认框、Intent传值、Activity显示软件信息
- linux 环境变量设置
- Android xmlns 的作用及其自定义