LeetCode【7--整数反转】 LeetCode【8--字符串转整数】

整数反转

题目描述

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
在这里插入图片描述

解题思路

x%10 取一位,x/10下一位,注意越界,

代码实现

class Solution {
public:int reverse(int x) {int sum = 0;while(x){if(sum<INT_MIN/10) return 0;if(sum>INT_MAX/10)return 0;sum=sum*10+x%10;x/=10;}return sum;}
};

字符串转整数

题目描述

请你来实现一个 atoi 函数,使其能将字符串转换成整数。

首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。

当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。

该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,它们对于函数不应该造成影响。

注意:假如该字符串中的第一个非空格字符不是一个有效整数字符、字符串为空或字符串仅包含空白字符时,则你的函数不需要进行转换。

在任何情况下,若函数不能进行有效的转换时,请返回 0。

说明:

假设我们的环境只能存储 32 位大小的有符号整数,那么其数值范围为 [−231, 231 − 1]。如果数值超过这个范围,请返回 INT_MAX (231 − 1) 或 INT_MIN (−231) 。

解题思路

第一步

去除字符串中的所有空格,只记录有效字符的下标
如果都是空格,就直接返回0

int length = s.size();
int index = 0;
while(index < length)
{if(s[length] != ' ')break;index++;
}
if(index == length)return 0;

第二步

判断正负,用个标记为来表示,起初为正

int signal = 1;
if(s[index] = '+')index++;
else if(s[index] = '-')
{	singal = -1;index++;
}

第三步

转换,首先判断是否越界,再进行转换,

int res = 0; //保存结果
while(index<legnth)
{//1.取一个字符char Cur = s[index];//2.判断是否为数字字符if(Cur < '0' || Cur >'9')break;//3.判断是否越界if (res > INT_MAX / 10 || (res == INT_MAX / 10 && (curChar - '0') > INT_MAX % 10)) {return INT_MAX;}if (res < INT_MIN / 10 || (res == INT_MIN / 10 && (curChar - '0') > -(INT_MIN % 10))) {return INT_MIN;}//4.转换res = res*10 + signal*(Cur - '0');//5.取下一个字符index++;
}

代码实现

class Solution {
public:int myAtoi(string str) {unsigned long len = str.length();int index = 0;while (index < len) {if (str[index] != ' ') {break;}index++;}//如果全部是空格,直接返回0if (index == len) {return 0;}int sign = 1;if (str[index] == '+') {index++;} else if (str[index] == '-') {sign = -1;index++;}int res = 0;while (index < len) {char curChar = str[index];if (curChar < '0' || curChar > '9') {break;}if (res > INT_MAX / 10 || (res == INT_MAX / 10 && (curChar - '0') > INT_MAX % 10)) {return INT_MAX;}if (res < INT_MIN / 10 || (res == INT_MIN / 10 && (curChar - '0') > -(INT_MIN % 10))) {return INT_MIN;}res = res * 10 + sign * (curChar - '0');index++;}return res;}
};

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

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

相关文章

word2003如何设置护眼模式_ERP系统上线,如何设置采购收货的模式,提升企业的采购效率...

如何合理的规划采购计划上次去拜访一个朋友&#xff0c;他们说公司既然出现没有下达采购订单&#xff0c;供应商也有送货过来的事情&#xff0c;对于公司来说&#xff0c;这个是非常严重的问题。若用了ERP系统之后&#xff0c;如何避免类似的事情发生&#xff0c;今天我们来分享…

LeetCode【9-- 回文数】LeetCode【10 --正则表达式的匹配】

回文数 题目描述 判断一个整数是否是回文数。回文数是指正序&#xff08;从左向右&#xff09;和倒序&#xff08;从右向左&#xff09;读都是一样的整数。 解题思路 判断该数的逆序数是不是和原数相同 代码实现 class Solution { public:bool isPalindrome(int x) {if(…

sun键盘没有stop键_请教Sun键盘

请教Sun键盘(2011-12-24 06:01:11)标签&#xff1a;计算机杂谈请教Sun键盘Sun键盘上,Help和F1之间的空白键是干啥的?Space旁边的两个菱形标志的呢?Compose呢?谢谢!请教Sun键盘Space旁边的两个菱形标志是一个类似Ctrl、Alt的修饰键&#xff0c;叫Meta。可以用Meta;键名来定义…

LeetCode【11--盛水最多的容器】LeetCode【12 -- 整数转罗马数字】

盛水最多的容器 题目描述 给定 n 个非负整数 a1&#xff0c;a2&#xff0c;…&#xff0c;an&#xff0c;每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线&#xff0c;垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线&#xff0c;使得它们与 x 轴共…

LeetCode【13--罗马数字转整数】LeetCode【14--最长的公共前缀】

罗马数字转整数 题目描述 罗马数字包含以下七种字符: I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。 例如&#xff0c; 罗马数字 2 写做 II &#xff0c;即为两个并列的 1。12 写做 XII &#xff0c;即为 X II 。 27 写做 XXVII, 即为 XX…

linux 编译3g驱动_linux下使用3G拨号上网 以及3g驱动设置

中兴WCDMA模块 Linux拨号流程Version 1.0目录1. 测试准备……………………………………………………..…32. 拨号脚本………………………………………………………133. 拨号过程………………………………………………………161. 测试准备本文档测试模块&#xff1a;MF210(中兴W…

文件压缩(基于LZ77的压缩)

LZ77压缩原理 初始LZ77 LZ77是基于字节的通用压缩算法&#xff0c;它的原理就是将源文件中的重复字节(即在前文中出现的重复字节)使用(offset&#xff0c;length&#xff0c;nextchar)的三元组进行替换 这里的 长度–offset&#xff0c;距离—length&#xff0c;先行缓冲匹配…

好中的图像处理方面的期刊_约会中,注意这四个方面,帮助你把握好自己的真爱...

两个人想要拥有一段美好的感情&#xff0c;那么男生就要掌握好一些技巧去追求对方&#xff0c;在追求的过程中&#xff0c;两个人的约会也非常重要&#xff0c;毕竟只有约会过程中&#xff0c;女孩子才能够看到你光鲜亮丽的一面&#xff0c;才能够慢慢的接受你&#xff0c;如果…

kafka consumer配置拉取速度慢_Kafka消费者的使用和原理

这周我们学习下消费者&#xff0c;仍然还是先从一个消费者的Hello World学起&#xff1a;public class Consumer { public static void main(String[] args) { // 1. 配置参数 Properties properties new Properties(); properties.put("key.des…

前缀和

前缀和 输入一个长度为n的整数序列。 接下来再输入m个询问&#xff0c;每个询问输入一对l, r。 对于每个询问&#xff0c;输出原序列中从第l个数到第r个数的和。 输入格式 第一行包含两个整数n和m。 第二行包含n个整数&#xff0c;表示整数数列。 接下来m行&#xff0c;…

子矩阵的和

题目描述 输入一个n行m列的整数矩阵&#xff0c;再输入q个询问&#xff0c;每个询问包含四个整数x1, y1, x2, y2&#xff0c;表示一个子矩阵的左上角坐标和右下角坐标。 对于每个询问输出子矩阵中所有数的和。 输入格式 第一行包含三个整数n&#xff0c;m&#xff0c;q。 …

jmeter 循环取值赋值给form_JMeter系列(三)逻辑控制器详解

循环控制器&#xff1a;指定迭代次数&#xff0c;可以用具体数字&#xff0c;也可以通过变量控制永远&#xff1a;表示无限循环点击查看示例&#xff1a;Jmeter实例(四)_图片爬虫简单控制器&#xff1a;这是最基础的一个控制器&#xff0c;它可以让脚本分层&#xff0c;变成一个…

c 复杂的前置后置面试题_OPPO Reno拆解:优秀工艺由外而内,复杂用料不负旗舰之名...

OPPO的新系列Reno手机最近吸引了不少注意力&#xff0c;不管是消费者还是手机极客都对其优秀的性能和强大的配置抱有极大的兴趣。最近&#xff0c;知名数码博主爱玩客对Reno十倍变焦版进行了拆解&#xff0c;从内部结构向我们揭示了这部手机的强大之处。并且点评道&#xff1a;…

差分矩阵

题目描述 输入一个n行m列的整数矩阵&#xff0c;再输入q个操作&#xff0c;每个操作包含五个整数x1, y1, x2, y2, c&#xff0c;其中(x1, y1)和(x2, y2)表示一个子矩阵的左上角坐标和右下角坐标。 每个操作都要将选中的子矩阵中的每个元素的值加上c。 请你将进行完所有操作后…

python常用的开发环境包括_Python语言主要包括哪些集成开发环境?_学小易找答案...

【填空题】Python的标准随机数生成器模块是【简答题】Why does critical thinking matter?【简答题】采集瓶子的外形进行创意设计 用点、线、面进行装饰填充 A4纸手绘,构图要有新意,要饱满【简答题】How can a lack of critical thinking cause a loss of personal freedom?【…

最长连续不重复子序列

题目描述 给定一个长度为n的整数序列&#xff0c;请找出最长的不包含重复数字的连续区间&#xff0c;输出它的长度。 输入格式 第一行包含整数n。 第二行包含n个整数&#xff08;均在0~100000范围内&#xff09;&#xff0c;表示整数序列。 输出格式 共一行&#xff0c;包…

ocp跟oce的区别 oracle_Oracle视频10g 11g认证视频教程 OCA/OCP 从入门到精通 数据库DBA...

一、认证Oracle OCP认证(Database 10g Administrator Certified Professional)为Oracle公司的数据库专家的认证。拥有OCP认证说明你拥有了大型Oracle数据库管理的技术能力&#xff0c;具备了成为大型企业核心数据库系统管理员的资格。OCE 1Z0-051&#xff1a;Oracle Database 1…

小爱同学app安卓版_小爱同学app下载-小米小爱同学下载2.9.21安卓版-西西软件下载...

小米小爱同学是小米AI音箱的配套软件&#xff0c;小爱同学是AI音箱的拟人虚拟形象&#xff0c;是一个二次元的萌妹子&#xff0c;如果你购买了小米AI音箱可以通过跟小爱同学交流来让小米智能音箱帮你完成你想要的服务。小爱同学支持海量互联网内容&#xff0c;包括在线音乐&…

python画太极八卦图_先天太极八卦图的唯一正确画法

我们先百度一下先天太极八卦图.↑&#xff0c;看看结果百度出来的图片第一页上半部分&#xff0c;结果非常惊人&#xff0c;40张图片&#xff0c;没有一张是正确的。错误原因分为两大类&#xff1a;1.太极图旋转方向或阴阳鱼所在位置错误 2.八卦中每卦的三爻画法错误1. 先天太极…

函数无法识别_PostgreSQL找不到最佳函数问题解析

最近给项目做支持&#xff0c;由于函数类型问题&#xff0c;加了几条函数定义。用户使用函数场景是func(string, string)。当时给用户添加了一条函数定义&#xff1a;func(text, text)。后来由于和其他函数冲突改成了func(varchar, varchar)。varchar和text同样都是字符串类型&…