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;一…

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

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

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

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

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…

【原创】什么是 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…

上机环境是什么意思_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;不同版…

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 …

Qt designer界面和所有组件功能的详细介绍(全!!!)

PyQt5和Qt designer的详细安装教程&#xff1a;https://blog.csdn.net/qq_43811536/article/details/135185233?spm1001.2014.3001.5501 目录 1. 界面介绍2. Widget Box 常用组件2.1 Layouts&#xff08;布局&#xff09;2.2 Spacers&#xff08;间隔器&#xff09;2.3 Item V…

[转]四边形不等式优化dp(POJ1160)

四边形不等式优化动态规划原理: 1.当决策代价函数w[i][j]满足w[i][j]w[i’][j’]<w[I;][j]w[i][j’](i<i’<j<j’)时,称w满足四边形不等式.当函数w[i][j]满足w[i’][j]<w[i][j’] i<i’<j<j’)时,称w关于区间包含关系单调. 2.如果状态转移方程m为且决策…

LeetCode27——Remove Element(移除数组中指定的元素)

题目&#xff1a; 解法&#xff1a; class Solution { public:int removeElement(vector<int>& nums, int val) {int cnt 0;for(int i 0 ; i < nums.size() ; i) {if(nums[i] val)cnt;elsenums[i-cnt] nums[i];//这里体现了删除。画图表示&#xff08;2不是&a…

inputstream的大小为0_刘科排列三第2020306期推荐:独胆参考0,双胆0和7

排列三第2020305期奖号开出373&#xff0c;奖号类型为组三&#xff0c;大小比为1:2&#xff0c;奇偶比为3:0&#xff0c;012路比为2:1:0。 组选类型推荐&#xff1a;历史上排列三第306期同期奖号中&#xff0c;组六出现10期&#xff0c;组三出现4次&#xff0c;豹子出现1期&…

ARM指令集(下)

A.2.5 ARM 协处理器指令 ARM 支持协处理器操作&#xff0c;协处理器的控制要通过协处理器命令实现。表A-7给出全部的ARM协处理器指令。 表A-7 ARM 协处理器指令CDP 协处理器数据操作指令。ARM 处理器通过CDP 指令通知ARM 协处理器执行特定的操作。该操作由协…

LeetCode283——Move Zeroes(将0移动到数组最后面)

题目&#xff1a; 解法&#xff1a; class Solution { public:void moveZeroes(vector<int>& nums) {fill(remove(nums.begin(), nums.end(),0), nums.end(), 0);} }; oh&#xff0c;no&#xff01;解法二&#xff1a; void moveZeroes(vector<int>& nums)…

java关闭一个窗口打开另一个_推开中式门窗,就像打开了另一个写意的世界…...

导语“湖光秋枕上&#xff0c;岳翠夏窗中。”在传承几千年的中式建筑文化中&#xff0c;自古以来就有多门窗、少实墙的传统&#xff0c;虚虚实实之间讲究内外空间融合&#xff0c;借景框景之时彰显人与自然和谐&#xff0c;门窗甚至直接决定着整体建筑的风格气质。随着时代的不…

同样是面对失败的责任:任春雷比杜一楠更有种

24 券创始人杜一楠最近成为热点人物&#xff0c;他的一篇“悔过书”引发各大媒体上万次的转载。一夜之间&#xff0c;这位与资方博弈的爷们儿却变成了一个负面人物&#xff0c;让人始料不及。业界人士评价说&#xff0c;这份“失败总结”满篇都是假大空&#xff0c;所总结的六点…

PopStar(消灭星星)游戏源代码下载、分析及跨平台移植---第四篇(关卡)

背景&#xff1a;本来打算把第三篇和第四篇合并都一起&#xff0c;但以前计划分开&#xff0c;就还是分来吧&#xff1b;一般的游戏涉及到关卡的话&#xff0c;一般都会建立一个数组来存放各种定义参数&#xff0c;消灭星星关卡比较容易&#xff0c;不需要建立数组&#xff0c;…

LeetCode344——Reverse String(将字符串反转)

题目&#xff1a; 解法&#xff1a; class Solution { public:string reverseString(string s) {int i0,js.size()-1;while(i<j){swap(s[i],s[j--]);}return s; } };