LeetCode8. 字符串转换整数 (atoi)
LeetCode8. 字符串转换整数 (atoi)
请你来实现一个 atoi 函数,使其能将字符串转换成整数。
首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。
当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。
该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,它们对于函数不应该造成影响。
注意:假如该字符串中的第一个非空格字符不是一个有效整数字符、字符串为空或字符串仅包含空白字符时,则你的函数不需要进行转换。
在任何情况下,若函数不能进行有效的转换时,请返回 0。
说明:
假设我们的环境只能存储 32 位大小的有符号整数,那么其数值范围为 [−231, 231 − 1]。如果数值超过这个范围,请返回 INT_MAX (231 − 1) 或 INT_MIN (−231) 。
class Solution {
public:int myAtoi(string str) {long long res=0;int i=0, len=str.length(); while(i<len && str[i]==' ') i++;// 丢弃无用的开头空格字符if(i==len) return 0;//字符串为空或字符串仅包含空白字符时bool sign=true; //记录符号if(str[i]=='+' || str[i]=='-' || (str[i]>='0' && str[i]<='9')){if(str[i]=='-') sign=false;if(str[i]=='+' || str[i]=='-') i++; }else return 0;//第一个非空字符需要是数字或正负号 while(str[i]>='0' && str[i]<='9' && i<len){res = res*10 + str[i++]-'0'; if(res>2147483648) break; //long long 溢出}//int范围if(sign==false){//负数 if(res>2147483648) return -2147483648;else return int(-res); } else{//正数 if(res>2147483647) return 2147483647;else return int(res);}}
};
LeetCode8. 字符串转换整数 (atoi)相关推荐
- c++ 32位有符号的整数_【LeetCode】字符串分类字符串转换整数 (atoi)
" 摘要:本文主要讲述LeetCode字符串分类字符串转换整数 (atoi)解法.主要内容如下: 题目 示例 解题 " 01 - 题目 请你来实现一个 atoi 函数,使其能将字符 ...
- [DFA|有限状态机] leetcode 8 字符串转换整数(atoi)
[DFA|有限状态机] leetcode 8 字符串转换整数(atoi) 1.题目 题目链接 请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先,该函数会根据需要丢弃无用的开头空格字符, ...
- 力扣——字符串转换整数 (atoi)
字符串转换整数 (atoi) 请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数). 函数 myAtoi(st ...
- Leetcode 129求根节点到叶节点数字之和、104二叉树的最大深度、8字符串转换整数(atoi)、82删除排序链表中的重复元素II、204二分查找、94二叉树的中序遍历、144二叉树的前序遍历
Top1:Leetcode 129求根节点到叶节点数字之和 官方题解:https://leetcode.cn/problems/sum-root-to-leaf-numbers/solution/qi ...
- C++字符串转换整数 (atoi)
字符串转换整数 (atoi) 一个小更新. 今天仔细的研究了一下int型越界的情况, 顺便把力扣的一道题做了. 请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 ...
- 8. 字符串转换整数 (atoi)(leetcode力扣算法 - java / rust)
8. 字符串转换整数 (atoi): 请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数). 函数 myAto ...
- 8. 字符串转换整数 (atoi)(正则表达式)
字符串转换整数--C, Python实现 1. 问题描述与分析 2. C语言实现 3. Python实现 3.1 普通判断法 3.2 正则表达式法 1. 问题描述与分析 问题描述: 问题分析: 该算法 ...
- 20190822:(leetcode习题)字符串转换整数 (atoi)
字符串转换整数 题目 大致思路 代码实现 题目 大致思路 这题主要是乱,思路大家都很容易想,就是把各种情况给码出来就行了,大家见我的代码注释会比较清晰. 几个用得到的方法:trim和substring ...
- 字符串转换整数 (atoi)
题目: 请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当我们寻找到的第一个非空字符为正或者负号时,则将该 ...
最新文章
- 信息系统管理师读书笔记之第5章 面向对象方法
- 硬盘显示容量和实际容量不符合_SSD小讲堂丨实力科普固态硬盘实际容量为何比标称小...
- 一站式解决使用枚举的各种痛点
- SSL双向认证和SSL单向认证的区别
- 8位16进制频率计设计实验--VHDL
- 吴恩达深度学习4.4笔记_Convolutional Neural Networks_人脸识别和神经风格转换
- Mybatis(四) 高级映射,一对一,一对多,多对多映射
- 伯努利数 + 自然数幂( Zoj2865 + 51Nod1228 + 51Nod1258 + 51Nod1822)
- Windows下 Nginx日志文件按计划时间自动分割、手动备份
- vue你不知道的奇淫绝技
- Hadoop入门集群环境搭建
- 概率论考点之二项式定理与组合数证明
- 关于华为pad没有出来直播的经验
- 更换电脑机械硬盘之后,无需重新安装程序技巧(系统盘为固态),解决D盘程序快捷方式图标白色方块
- 最流行的Python编辑器/IDEs你认识吗?
- Python最假的库:Faker
- 信息安全意识-密码安全
- 介绍-FreeMarker
- Android Camera驱动开发入门必备知识
- Google的招聘问题
热门文章
- Mycat安全_SQL拦截黑名单---MyCat分布式数据库集群架构工作笔记0034
- 杭电2571 命运
- linux系统 安卓系统安装教程,Linux系统下安装android sdk的方法步骤
- php 子文件夹如何定义,php-子文件夹的重写规则
- kis显示用户登录服务器失败,金蝶KIS专业版提示用户KISAdmin登陆失败。原因:未与信任SQL Server连接相关联...
- java应用程序做授权_java-为我的Web应用程序编写授权过滤器(JSF ...
- oracle 设置 shmmax,安装ORACLE时在Linux上设置内核参数的含义
- php怎么用递归函数遍历多维数组,php递归遍历多维数组的方法
- eigrp配置实验_【实验】思科与华为的差别——路由的优选
- XSS-Game level 5