atoi
来源:互联网 发布:qq邮箱imap端口号 编辑:程序博客网 时间:2024/05/18 12:36
class Solution {public:int myAtoi(string str) {long long n = 0;int flag = 0;for (int i = 0; i < str.length(); i++){char ch = str.at(i);if (flag == 0 && ch == ' '){continue;}else if (flag == 0 && ch == '-'){flag = 1;}else if (flag == 0 && ch == '+'){flag = 2;}else if (ch >= 48 && ch <= 57){if (i == 0){flag = 3;}int rem = ch - '0';if (n > 214748364){ //如果n大于当前值,并且还有下一位,则肯定溢出了 if (flag == 1){return numeric_limits<int>::min();}else {return numeric_limits<int>::max();}}if (n == 214748364){ //如果等于214748364则需要分情况讨论,因为int 最大值是2147483647最小值 -2147483648 if (flag == 1 && rem >= 8){ //等于8没有溢出,但是大于8 就溢出了,返回最小值 return numeric_limits<int>::min();}else if ((flag == 2 || flag == 3) && rem > 7){ //大于7 就溢出了,返回最小值,等于7可以继续操作也不影响 return 2147483647;}}n = 10 * n + rem;}else{break;}}if (flag == 1){n = -n;}return n;}};挨个遍历数字中位上的数值,访问一个,解析一个,遇到无法解析的返回0
0 0
- atoi
- atoi
- atoi
- atoi()
- atoi
- atoi
- atoi
- atoi
- atoi
- atoi
- atoi
- atoi
- atoi
- atoi
- atoi
- atoi
- atoi
- atoi
- Javascript学习笔记
- Struts2登陆的Demo
- MAC下安装node.js
- 基于触发机制的脚本系统
- linux下使用命令修改IP地址
- atoi
- visual studio 2013 --"Microsoft SQL Server Data Tools package did not load correctly"
- hadoop shell命令介绍
- 面试题3:二维数组中的查找
- IOS--UI--LessonTarget/Action /Delegate
- BMP图像数据格式详解
- Dijastra最优路径算法
- Android Studio 导入项目后不允许RUN 可修改buildToolsVersion
- Android中Intent-filter的四个属性Action,Category,Extras,Data