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)相关推荐

  1. c++ 32位有符号的整数_【LeetCode】字符串分类字符串转换整数 (atoi)

    " 摘要:本文主要讲述LeetCode字符串分类字符串转换整数 (atoi)解法.主要内容如下: 题目 示例 解题 " 01 - 题目 请你来实现一个 atoi 函数,使其能将字符 ...

  2. [DFA|有限状态机] leetcode 8 字符串转换整数(atoi)

    [DFA|有限状态机] leetcode 8 字符串转换整数(atoi) 1.题目 题目链接 请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先,该函数会根据需要丢弃无用的开头空格字符, ...

  3. 力扣——字符串转换整数 (atoi)

    字符串转换整数 (atoi) 请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数). 函数 myAtoi(st ...

  4. Leetcode 129求根节点到叶节点数字之和、104二叉树的最大深度、8字符串转换整数(atoi)、82删除排序链表中的重复元素II、204二分查找、94二叉树的中序遍历、144二叉树的前序遍历

    Top1:Leetcode 129求根节点到叶节点数字之和 官方题解:https://leetcode.cn/problems/sum-root-to-leaf-numbers/solution/qi ...

  5. C++字符串转换整数 (atoi)

    字符串转换整数 (atoi) 一个小更新. 今天仔细的研究了一下int型越界的情况, 顺便把力扣的一道题做了. 请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 ...

  6. 8. 字符串转换整数 (atoi)(leetcode力扣算法 - java / rust)

    8. 字符串转换整数 (atoi): 请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数). 函数 myAto ...

  7. 8. 字符串转换整数 (atoi)(正则表达式)

    字符串转换整数--C, Python实现 1. 问题描述与分析 2. C语言实现 3. Python实现 3.1 普通判断法 3.2 正则表达式法 1. 问题描述与分析 问题描述: 问题分析: 该算法 ...

  8. 20190822:(leetcode习题)字符串转换整数 (atoi)

    字符串转换整数 题目 大致思路 代码实现 题目 大致思路 这题主要是乱,思路大家都很容易想,就是把各种情况给码出来就行了,大家见我的代码注释会比较清晰. 几个用得到的方法:trim和substring ...

  9. 字符串转换整数 (atoi)

    题目: 请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当我们寻找到的第一个非空字符为正或者负号时,则将该 ...

最新文章

  1. 信息系统管理师读书笔记之第5章 面向对象方法
  2. 硬盘显示容量和实际容量不符合_SSD小讲堂丨实力科普固态硬盘实际容量为何比标称小...
  3. 一站式解决使用枚举的各种痛点
  4. SSL双向认证和SSL单向认证的区别
  5. 8位16进制频率计设计实验--VHDL
  6. 吴恩达深度学习4.4笔记_Convolutional Neural Networks_人脸识别和神经风格转换
  7. Mybatis(四) 高级映射,一对一,一对多,多对多映射
  8. 伯努利数 + 自然数幂( Zoj2865 + 51Nod1228 + 51Nod1258 + 51Nod1822)
  9. Windows下 Nginx日志文件按计划时间自动分割、手动备份
  10. vue你不知道的奇淫绝技
  11. Hadoop入门集群环境搭建
  12. 概率论考点之二项式定理与组合数证明
  13. 关于华为pad没有出来直播的经验
  14. 更换电脑机械硬盘之后,无需重新安装程序技巧(系统盘为固态),解决D盘程序快捷方式图标白色方块
  15. 最流行的Python编辑器/IDEs你认识吗?
  16. Python最假的库:Faker
  17. 信息安全意识-密码安全
  18. 介绍-FreeMarker
  19. Android Camera驱动开发入门必备知识
  20. Google的招聘问题

热门文章

  1. Mycat安全_SQL拦截黑名单---MyCat分布式数据库集群架构工作笔记0034
  2. 杭电2571 命运
  3. linux系统 安卓系统安装教程,Linux系统下安装android sdk的方法步骤
  4. php 子文件夹如何定义,php-子文件夹的重写规则
  5. kis显示用户登录服务器失败,金蝶KIS专业版提示用户KISAdmin登陆失败。原因:未与信任SQL Server连接相关联...
  6. java应用程序做授权_java-为我的Web应用程序编写授权过滤器(JSF ...
  7. oracle 设置 shmmax,安装ORACLE时在Linux上设置内核参数的含义
  8. php怎么用递归函数遍历多维数组,php递归遍历多维数组的方法
  9. eigrp配置实验_【实验】思科与华为的差别——路由的优选
  10. XSS-Game level 5