[LeetCode] 8. String to Integer (atoi)
2016-07-14 14:44
357 查看
思路:
先跳过所有空格, 然后判断正负号, 根据符号修改sign标志, 关键点还是要拿long long变量储存数据, 这样比较容易判断是否溢出
先跳过所有空格, 然后判断正负号, 根据符号修改sign标志, 关键点还是要拿long long变量储存数据, 这样比较容易判断是否溢出
int myAtoi(string str) { long long res = 0; int sign = 1, i = 0; while (str[i] = ' ') i++; if (str[i] == '+') i++; else if (str[i] == '-') i++, sign = -1; for (; i < str.length(); i++) { if (str[i] >= '0' && str[i] <= '9') { res = res * 10 + str[i] - '0'; if (res > INT_MAX) return sign > 0 ? INT_MAX : INT_MIN; } else break; } res = (int)(res * sign); return res; }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android java 与 javascript互访(相互调用)的方法例子
- 关于指针的一些事情
- android上改变listView的选中颜色
- String.intern
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Prototype源码浅析 String部分(二)
- Ruby中的String对象学习笔记
- Redis02 使用Redis数据库(String类型)全面解析
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- PostgreSQL ERROR: invalid escape string 解决办法
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题