LeetCode8——String to Integer (atoi)(自己编写atoi函数)

题目:



参考解法:

I think we only need to handle four cases:

discards all leading whitespaces

sign of the number

overflow

invalid input

int myAtoi(char* str) 
{int sign = 1, base = 0, i = 0;while (str[i] == ' ') { i++; }//去掉空格if (str[i] == '-' || str[i] == '+') {sign = 1 - 2 * (str[i++] == '-');//这里i进行了++,注意符号也要输出的 }//判断符号while (str[i] >= '0' && str[i] <= '9') {if (base >  INT_MAX / 10 || ((base == INT_MAX / 10) &&  (str[i] - '0' > 7))) //这个条件会在加到一定程度时才触发{if (sign == 1) return INT_MAX;elsereturn INT_MIN;}base  = 10 * base + (str[i++] - '0');}return base * sign;
}


分析:

注意这里的判断条件:

base == INT_MAX / 10 &&  (str[i] - '0' > 7),最后一个为什么是这个?




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/461450.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5类6类7类网线对比_孩子们长高的黄金时期是从3月到5月,这阶段多吃6类食物长得快...

原标题&#xff1a;孩子们长高的黄金时期是从3月到5月&#xff0c;这阶段多吃6类食物长得快每个家长都希望孩子长大。当他们看到自己的孩子比同龄的孩子矮时&#xff0c;他们会非常担心。他们特别担心孩子的成长。事实上&#xff0c;儿童的生长发育有明显的季节性&#xff0c;一…

javascript之Partial Application

这一次来学习一下Partial Application。我们先看一下函数的介绍&#xff0c;在维基上有简单的介绍&#xff1a; 在数学中&#xff0c;一个函数是描述每个输入值对应唯一输出值的这种对应关系&#xff0c;符号为 f(x)。例如&#xff0c;表达式 f(x)x2表示了一个函数 f&#xff0…

根据对象的属性去重,获取新数组

() let cateArr arr.reduce(function (arr, current) { hash[current.category_id] ? : hash[current.category_id] true && arr.push(current); return arr }, []); () 转载于:https://www.cnblogs.com/gkxNB/p/11428433.html

快速地创建快顶尖的医学图像处理控件ImageGear Medical

ImageGear Medical控件使开发人员能够快速地创建快顶尖的医学图像处理控件&#xff0c;可以对DICOM文件进行浏览、创建、编辑&#xff0c;可以控制图像所有切面显示和打印&#xff0c;对图像进行注释&#xff0c;以及支持ISIS和TWAIN扫描和100多种图像文件格式&#xff0c;可用…

jj为什么会变大变小_为什么上过太空的种子果实会变大?射线会让生物向大变异吗?...

在科幻电影中&#xff0c;变异是不正常力量的重要来源之一&#xff0c;所谓“富人靠科技&#xff0c;穷人靠变异&#xff01;”。但其实科幻在某种意义上一起在误导着我们&#xff0c;多数科幻作品其实是以科学为外衣的魔法故事&#xff0c;比如“爱你三千遍”的钢铁侠&#xf…

公司人才招聘管理系统

课程设计名称 公司人才招聘管理系统 完成时间&#xff08;起、止&#xff09; 所属小组 课程设计的目的 1、学习和巩固C语言程序设计的方法&#xff0c;充分体会C语言在程序设计方面的强大功能和独特之处&#xff1b; 2、了解用C语言开发项目的一般过程&#xff0c;…

RabbitMQ 示例-生产者-消费者-direct-topic-fanout

这是生产者和消费者2个项目&#xff0c; 包含 direct&#xff0c;topic&#xff0c;fanout模式下的消费&#xff0c;springboot rabbitmq 代码地址&#xff1a;https://github.com/duende99/RabbitMQ.git转载于:https://www.cnblogs.com/duende99/p/11440435.html

CutJS – 用于 HTML5 游戏开发的 2D 渲染引擎

CutJS 是轻量级的&#xff0c;快速的&#xff0c;基于 Canvas 开发的 HTML5 2D 渲染引擎&#xff0c;可以用于游戏开发。它是开源的&#xff0c;跨平台的&#xff0c;与现代的浏览器和移动设备兼容。CutJS 提供了一个类似 DOM 树的数据模型来编写应用程序&#xff0c;并在内部…

LeetCode65——Valid Number(使用DFA)来判断字符串是否为数字

题目&#xff1a; 参考解法&#xff1a;&#xff08;DFA&#xff09; class Solution { public:bool isNumber(string str) {int state0, flag0; // flag to judge the special case "."while(str[0] ) str.erase(0,1);//delete the prefix whitespace while(str[s…

win10商店下载位置_Win10删应用商店下载记录|Win10删Microsoft Store下载记录

Win10中的Microsoft Store&#xff0c;也称微软应用商店&#xff0c;提供给Windows用户下载安装使用各种应用&#xff0c;因此有些用户&#xff0c;会在这里下载软件&#xff0c;不过&#xff0c;在使用时间长了&#xff0c;也是会产生下载记录的。这篇文章是PE吧给大家带来的W…

HDU 1000 A + B Problem

Problem DescriptionCalculate A B.InputEach line will contain two integers A and B. Process to end of file.OutputFor each case, output A B in one line.Sample Input1 1Sample Output2题意&#xff1a;求输入的两个数之和。分析&#xff1a;注意题目暗含循环输入输出…

背景框代码

新建一个html文件&#xff0c;放入即可github: https://github.com/duende99/background_XXX.git 转载于:https://www.cnblogs.com/duende99/p/11442302.html

【原创】什么是 wire protocol

2019独角兽企业重金招聘Python工程师标准>>> 究竟 wire protocol 是指什么&#xff1f;下面这段话可以比较清楚的解释&#xff08;原本来自 这里 &#xff09;。 In a network, a wire protocol is the mechanism for transmitting data from point a to point b. T…

负数除以整数的余数怎么算?

由带余除法&#xff0c;任何一个整数n&#xff0c;都可以表示成nk*qr&#xff0c;其中0<r<q 这里的r就是n除以q的余数&#xff0c;通常记为n≡r(mod q) 例如-9(-2)*51&#xff0c;则-9除以5的余数为1。

上机环境是什么意思_Python能不能自学,可以找到什么工作?

1、学习Python能够找到什么样的工作&#xff1f;Python 编程有很多方向&#xff0c;有网络爬虫、数据分析、Web开发、测试开发、运维开发、机器学习、人工智能、量化交易等等&#xff0c;各个方向都有特定的技能要求&#xff0c;比如学数据分析就要重点掌握统计学、SQL 等知识&…

mysql 优化之 is null ,is not null 索引使用测试

关于mysql优化部分&#xff0c;有很多网友说尽量避免使用is null, is not null,select * 等&#xff0c;会导致索引失效&#xff0c;性能降低&#xff1f;那是否一定收到影响呢&#xff1f;真的就不会使用索引了吗&#xff1f; 本文的测试数据库版本为5.7.18&#xff0c;不同版…

QTP和WinRunner区别

转自&#xff1a;http://www.cnblogs.com/Lemon_s/archive/2008/10/10/1307769.html QTP&#xff0c;全称为Quick Test Professional&#xff0c;它与WinRunner同为MI公司开发的功能强大的功能测试工具。从时间上来看&#xff0c;WinRunner在1995年便已经推出&#xff0c;远早于…

怎么卸载apowerrec_如何删除windows10自带应用

如何删除windows10自带内置应用方法/步骤1要卸载这些所有内置应用&#xff0c;就要用到WindowsPowerShell&#xff0c;它是win10系统自带的一个应用&#xff0c;要打开它&#xff0c;就单击开始菜单中的“所有应用”&#xff0c;然后找到WindowsPowerShell的文件夹&#xff0c;…

LeetCode7——Reverse Integer(将一个整数反转,注意溢出的处理)

题目&#xff1a; 解法一&#xff1a; 注意long long类型&#xff0c;表示64bit数字。 解法二&#xff1a; class Solution { public:int reverse(int x) {int ans 0;while (x) {int temp ans * 10 x % 10;if (temp / 10 ! ans)//溢出后&#xff0c;这里就会不成立了return …

shell 多线程

普通多线程&#xff08;准确的讲应该是多进程&#xff09;&#xff0c;这种模式 并发大的时候会报错&#xff0c;影响运行速度 不可控制线程的数量 #!/bin/bashfor i in {1..254}do    #后台运行&#xff0c;每次都创建新的线程&#xff08;进程&#xff09;{ip192.168.179…