leetcode--008. String to Integer (atoi)
2016-06-03 23:26
197 查看
String to Integer (atoi)
空字符串,返回 0;
第一个数字前是 ‘+’ 或者 ‘-‘;
数字前有空格;
转换过程中,遇到第一个非数字字符,停止转换。
int 范围在
题解
考虑如下条件:空字符串,返回 0;
第一个数字前是 ‘+’ 或者 ‘-‘;
数字前有空格;
转换过程中,遇到第一个非数字字符,停止转换。
int 范围在
[-2147483648, 2147483647],超过这个范围返回相应的
INT_MAX,
INT_MIN
class Solution { public: int myAtoi(string str) { if(str.empty()) return 0; bool isNegative = false; int i = 0, j = 0; while(str[j] == ' ') j++; i = j; if(str[j] == '-') isNegative = true, i = j + 1; if(str[j] == '+') i = j + 1; long long num = 0; for(; i < str.length(); ++i){ if(isdigit(str[i])) { num = num * 10 + (str[i] - '0'); if(num > INT_MAX) return isNegative ? INT_MIN : INT_MAX; } else break; } return isNegative ? -num : num; } };
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android java 与 javascript互访(相互调用)的方法例子
- android上改变listView的选中颜色
- String.intern
- Prototype源码浅析 String部分(二)
- Ruby中的String对象学习笔记
- PostgreSQL ERROR: invalid escape string 解决办法
- 浅谈C++中的string 类型占几个字节
- 标准C++类string的Copy-On-Write技术
- C++实现string存取二进制数据的方法
- C#中string和StingBuilder内存中的区别实例分析
- 详解C++中实现继承string类的MyString类的步骤
- PHP STRING 陷阱原理说明
- c#中 String和string的区别介绍
- C#实现的图片、string相互转换类分享
- asp.net String.IsNullOrEmpty 方法
- JavaScript中字符串(string)转json的2种方法
- C#中string用法实例详解
- 浅析C#中StringBuilder类的高效及与String的对比