LeetCode 8. String to Integer (atoi)

Solution1:我的答案

参考链接:http://www.cnblogs.com/grandyang/p/4125537.html。在连接中作者给出了一道相似但更复杂的题目
http://www.cnblogs.com/grandyang/p/4084408.html
int 范围[-2^31 , 2^31 -1] 即 [-2147483648, 2147483647].这是下面代码判断是否溢出的依据。

class Solution {public:int myAtoi(string str) {if (str.empty()) return 0;int sign = 1, base = 0, i = 0, n = str.size();while (i < n && str[i] == ' ') ++i;//寻找首个非空字符下标if (str[i] == '+' || str[i] == '-') {//根据首个非空字符判断正负sign = (str[i++] == '+') ? 1 : -1;//sign==1,为正;sign==-1,为负}while (i < n && str[i] >= '0' && str[i] <= '9') {//从首个或次个非空字符开始寻//找连续的数字字符子串if (base > INT_MAX / 10 || (base == INT_MAX / 10 && str[i] - '0' > 7)) {return (sign == 1) ? INT_MAX : INT_MIN;//对边界值处理巧妙!学习!}base = 10 * base + (str[i++] - '0');}return base * sign;}
};

如何判断int型数是否溢出

思想:相加的结果与其中一个数相减,与另一个数比较看是否相等;相乘除的结果和乘除的因子相反操作,和原来的数值进行比较看是否相等。

示例代码如下:

temp = cal; // 保留上一次的cal
cal = cal * 10;
//如果反转后的整数溢出,则返回 0。
if (cal / 10 != temp) {cout << "overflow" << endl;return 0;
}

【细节实现题】LeetCode 8. String to Integer (atoi)相关推荐

  1. LeetCode 8. String to Integer (atoi)(字符串)

    LeetCode 8. String to Integer (atoi)(字符串) LeetCode 8 String to Integer atoi字符串 问题描述 解题思路 参考代码 By Sca ...

  2. leetcode 8. String to Integer (atoi)

    也许是我没有理解清楚题意,为什么输入+-2的时候要输出0,而不是输出2呢. public class Solution {public int myAtoi(String str) {if(str = ...

  3. Kotlin实现LeetCode算法题之String to Integer (atoi)

    题目String to Integer (atoi)(难度Medium) 大意是找出给定字串开头部分的整型数值,忽略开头的空格,注意符号,对超出Integer的数做取边界值处理. 方案1 1 clas ...

  4. LeetCode算法入门- String to Integer (atoi)-day7

    LeetCode算法入门- String to Integer (atoi)-day7 String to Integer (atoi): Implement atoi which converts ...

  5. String to Integer (atoi) leetcode java

    题目: Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input ca ...

  6. [LeetCode] NO. 8 String to Integer (atoi)

    [题目] Implement atoi to convert a string to an integer. [题目解析] 该题目比较常见,从LeetCode上看代码通过率却只有13.7%,于是编码提 ...

  7. 008 String to Integer (atoi) [Leetcode]

    题目内容: Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input ...

  8. 8. String to Integer (atoi)

    题目: Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input ca ...

  9. 8. String to Integer (atoi) 字符串转成整数

    [抄题]: Input: "42" Output: 42 Example 2: Input: " -42" Output: -42 Explanation: T ...

最新文章

  1. 《利用python进行数据分析》读书笔记--第八章 绘图和可视化
  2. 布隆过滤器解决缓存穿透_缓冲穿透/缓存击穿/缓存雪崩等问题解决办法
  3. python按行读取文件 with open_python笔记——文件读写操作过程(open与with open的区别)...
  4. JDK JRE 区别
  5. LeetCode OJ - Best Time to Buy and Sell Stock II
  6. java 时间序列预测_基于spark的时间序列预测包Sparkts._的使用
  7. 苏州大学计算机学院推免流程,【图片】18年苏州大学计算机872考研经验分享【苏州大学研究生吧】_百度贴吧...
  8. 学习下新塘M0芯片的下载方法
  9. Html meta 标签定义页面元信息 详解
  10. 为什么发烧友更偏爱头戴式蓝牙耳机呢?五款高音质音乐蓝牙耳机推荐
  11. 修复win10右键卡死鼠标转圈
  12. 推荐各类工具网站(数据可视化、词频分析、词云、PPT模板、互联网趋势分析、在线调查)
  13. java代码生成springdao_可一键生成dao、表、controller等几十种的代码生成器源码分享...
  14. uniapp 中使用不同字体
  15. 中国最具影响力的10位画家:八大山人
  16. 游戏设计师:如何对待高考倒数100天
  17. 浅析数据中心布线系统的绿色环保与节能
  18. Linux 处理目标文件的工具(指令)
  19. 关于解决idea 输入法不跟随问题
  20. 《复仇者联盟4》经典台词——与热爱交易的小伙伴共勉

热门文章

  1. [设计] - 判断LOGO好坏的12条参考标准
  2. PCD Lesson3:PCD文件的读取
  3. 相机标定(五)—— 相机模型详细介绍
  4. 数据结构笔记(二十)--二叉树的存储
  5. 单链表删除所有值为x的元素_双链表的基本实现与讲解(C++描述)
  6. mysql 不同的记录_Mysql通过一个限制条件,查出多条不同的记录
  7. linux分区分错了能改么,linux 分区错误怎么处理
  8. 组建一个局域网一般会用到哪些设备_朋友私信一个简单的问题:端口和网关到底有什么区别?...
  9. 推荐几个好用的php集成开发环境,推荐几个好用的PHP集成开发环境 (2
  10. 解决OpenCV4出现“/usr/bin/ld:cannot find -lcudart_static.../usr/bin/ld: cannot find -lx86_64-linux-gnu“问题