leetcode8
public class Solution {
public int MyAtoi(string str) {
int index = , sign = , total = ;
//1. Empty string
if (str.Length == )
{
return ;
}
//2. Remove Spaces
while (str[index] == ' ' && index < str.Length)
{
index++;
}
//3. Handle signs
if (str[index] == '+' || str[index] == '-')
{
sign = str[index] == '+' ? : -;
index++;
}
//4. Convert number and avoid overflow
while (index < str.Length)
{
int digit = str[index] - '';
if (digit < || digit > ) break;
//check if total will be overflow after 10 times and add digit
if (int.MaxValue / < total || int.MaxValue / == total && int.MaxValue % < digit)
{
return sign == ? int.MaxValue : int.MinValue;
}
total = * total + digit;
index++;
}
return total * sign;
}
}
https://leetcode.com/problems/string-to-integer-atoi/#/description
补充一个python的实现:
class Solution:
def myAtoi(self, string: str) -> int:
string = string.strip()
n = len(string)
if n == :
return
sign =
convertStr = ''
firstNum = False
for i in range(n):
c = ord(string[i]) - ord('')
if not firstNum:
if string[i] == '+' and sign == :
sign =
elif string[i] == '-' and sign == :
sign = -
elif c >= and c <= :
firstNum = True
if sign == :
sign =
convertStr += str(c)
else:
convertStr = ''
break
else:
if c >= and c <= :
convertStr += str(c)
else:
break
r = int(convertStr) * sign
if r > ** - :
r = ** -
elif r < -( ** ):
r = -( ** )
return r
leetcode8的更多相关文章
- LeetCode----8. String to Integer (atoi)(Java)
package myAtoi8; /* * Implement atoi to convert a string to an integer. Hint: Carefully consider all ...
- leetcode8 String to Integer (atoi)
题目需求: 输入一个字符串,输出对应的int值 特殊处理: 输入: null 输出:0 输入: "a122" 输出:0 输入: " 1233" 输出: ...
- [Swift]LeetCode8. 字符串转整数 (atoi) | String to Integer (atoi)
Implement atoi which converts a string to an integer. The function first discards as many whitespace ...
- leetcode8:字符串转整数 (atoi)
实现 atoi,将字符串转为整数. 在找到第一个非空字符之前,需要移除掉字符串中的空格字符.如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值 ...
- LeetCode8.字符串转整数(atoi)
题目链接:https://leetcode-cn.com/problems/string-to-integer-atoi/ 实现 atoi,将字符串转为整数. 该函数首先根据需要丢弃任意多的空格字符, ...
- LeetCode8. 字符串转整数 (atoi)
8. 字符串转整数 (atoi) 描述 实现 atoi,将字符串转为整数. 在找到第一个非空字符之前,需要移除掉字符串中的空格字符.如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连 ...
- LeetCode8.字符串转换整数(atoi) JavaScript
请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之 ...
- leetcode8 String to Integer
题目描述 Implement atoi which converts a string to an integer. The function first discards as many white ...
- leetcode-8.atoi · string *
题面 原题挺长的,还是英文,就不抄了,
随机推荐
- 【剑指offer】链表中倒数第k个节点,C++实现(链表)
1.题目 输入一个链表,输出该链表中倒数第k个结点.链表的尾节点是倒数第一个节点. struct ListNode { int val; struct ListNode *next; } 2.思路 ...
- 使用阿里云加速docker镜像的安装
刚接触docker,尝试安装node镜像.docker运行在win7中,安装完Docker Toolbox之后简单敲了docker pull node命令,然后就是漫长的等待了… 等待的结果就是nod ...
- 每天一个linux命令(文件操作):【转载】find 命令概览
Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时 ...
- 每天一个linux命令:【转载】cat命令
cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. 1.命令格式: cat [选项] [文件] ...
- BZOJ1101 POI2007 Zap 【莫比乌斯反演】
BZOJ1101 POI2007 Zap Description FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a,y<=b, ...
- 使用python处理selenium中的frame切换问题
# iframe有name或id值 self.driver.switch_to.frame('iframe-name-id') # iframe没有name或id值 xf = self.driver. ...
- 实现一个 WPF 版本的 ConnectedAnimation
Windows 10 的创造者更新为开发者们带来了 Connected Animation 连接动画,这也是 Fluent Design System 的一部分.它的视觉引导性很强,用户能够在它的帮助 ...
- 零基础学习hadoop到上手工作线路指导初级篇:hive及mapreduce
此篇是在零基础学习hadoop到上手工作线路指导(初级篇)的基础,一个继续总结.五一假期:在写点内容,也算是总结.上面我们会了基本的编程,我们需要对hadoop有一个更深的理解:hadoop分为h ...
- Appium 定位方法例子(4)
有朋友留言反应定位不到元素,没错,船长也为这个一直在头疼,我用的App是原生安卓+webService+h5类型的,定位虽然没问题,但是在进行操作的时候各种不通过……真的很头疼啊……我这里说的“操作” ...
- ldo的一些参数理解
psrr是衡量ldo抑制外来信号噪声的能力,而内部噪声是由基准电压和误差放大器引入的.通常器件手册说的输出噪声指的就是内部噪声. ldo的暂态响应也是一个重要指标