【 腾讯精选练习 50 题】17—字符串转换整数 (atoi)【中等】

简介: 【 腾讯精选练习 50 题】17—字符串转换整数 (atoi)【中等】

题目链接

8. 字符串转换整数 (atoi)【中等】

题目简介

函数 myAtoi(string s) 的算法如下:

  • 读入字符串并丢弃无用的前导空格
  • 检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。
  • 读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。
  • 将前面步骤读入的这些数字转换为整数(即,“123” -> 123, “0032” -> 32)。如果没有读入数字,则整数为 0 。必要时更改符号(从步骤 2 开始)。
  • 如果整数数超过 32 位有符号整数范围 [−2^31, 2^31 − 1] ,需要截断这个整数,使其保持在这个范围内。具体来说,小于 −2^31的整数应该被固定为 −2^31,大于 2^31− 1 的整数应该被固定为 2^31− 1
  • 返回整数作为最终结果。

注意:

  • 本题中的空白字符只包括空格字符 ’ ’ 。
  • 除前导空格或数字后的其余字符串外,请勿忽略 任何其他字符。

题目解析

  1. 简单的进行下模拟即可,注意一下关于数值越界的问题
  2. 我们使用index代表当前指针的位置
  • 判断空格:如果 s.charAt(index) == ' ',则直接跳过,index++ 即可
  • 判断正负:如果 s.charAt(index) == '-',将 flag = -1

题目代码


相关文章
|
7月前
|
存储 算法 C++
【 腾讯精选练习 50 题】17—字符串转换整数 (atoi)【中等】
【 腾讯精选练习 50 题】17—字符串转换整数 (atoi)【中等】
|
7月前
|
存储 机器学习/深度学习
【 腾讯精选练习 50 题】04—整数反转【简单】
【 腾讯精选练习 50 题】04—整数反转【简单】
|
7月前
|
算法 Java
每日一刷《剑指offer》字符串篇之把字符串转换成整数(atoi)
每日一刷《剑指offer》字符串篇之把字符串转换成整数(atoi)
57 0
每日一刷《剑指offer》字符串篇之把字符串转换成整数(atoi)
|
7月前
PAT甲级真题1050 字符串减法
PAT甲级真题1050 字符串减法
48 0
PTA第五章7-13 求一批整数中出现最多的个位数字
给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。
129 0
|
算法 C语言
【基础算法】浅浅刷个小题 # 移动零 # 丢失的数字 # 转换成小写字母 # 和为零的N个不同整数 # 猜数字 #
【基础算法】浅浅刷个小题 # 移动零 # 丢失的数字 # 转换成小写字母 # 和为零的N个不同整数 # 猜数字 #
|
存储 算法 C++
【每日算法Day 89】手动实现字符串转整数(atoi)函数,你会吗?
【每日算法Day 89】手动实现字符串转整数(atoi)函数,你会吗?
|
算法 C++
刷爆力扣之字符串转换整数(atoi)
刷爆力扣之字符串转换整数(atoi)
|
算法 C++
【刷题记录】8. 字符串转换整数 (atoi)
【刷题记录】8. 字符串转换整数 (atoi)
140 0
【刷题记录】8. 字符串转换整数 (atoi)
|
算法
LeetCode 1556. 千位分隔数 | 算法-从菜鸟开始
LeetCode 1556. 千位分隔数 | 算法-从菜鸟开始
193 0