LeetCode: 8. String to Integer (atoi)

引言

题目链接:https://leetcode.com/problems/string-to-integer-atoi/description/

题目大意

实现一个 atoi函数。输入一串字符串,扫描字符串,跳过前面的空格,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。

  • Example

Hint

- 扫描字符串遇到的第一个非空字符不是数字或者 +, -(用于表示符号),返回数字0

- 转换后得到的数字为32位整型数据( int32),当转换的数字溢出时,返回 INT_MAX(2^311) or INT_MIN(2^31)

题解

一句话题解:按照题意模拟流程。遇上第一个非空字符判断是否为正负号并标记,后续继续按位来计算结果,当遇到非数字字符,返回当前结果,并加上符号标记(同时处理下0值返回和数据溢出即可)。

复杂度 O(n)

AC代码

c++版本

go版本


繁夜