LeetCode - 8. String to Integer (atoi)

简介: 8. String to Integer (atoi) Problem's Link  ---------------------------------------------------------------------------- Mean:  给你一个字符串,让你将其转换为数字.

 8. String to Integer (atoi)

Problem's Link

 ----------------------------------------------------------------------------

Mean: 

给你一个字符串,让你将其转换为数字.

analyse:

注意细节,坑点有点多.

Time complexity: O(N)

 

view code

class Solution
{
public :
    int myAtoi( string str)
    {
        int ret = 0 , sign = 1 , i = str . find_first_not_of( ' ' ), base = INT_MAX / 10;
        if ( str [ i ] == '+' || str [ i ] == '-') sign = str [ i ++ ] == '+' ?: - 1;
        while ( isdigit( str [ i ]))
        {
            if ( ret > base || ( ret == base && str [ i ] - '0' > 7))
                return sign > 0 ? INT_MAX : INT_MIN;
            ret = 10 * ret + ( str [ i ++ ] - '0');
        }
        return sign * ret;
    }
};
目录
相关文章
|
算法 C++
【LeetCode】【C++】string OJ必刷题
【LeetCode】【C++】string OJ必刷题
66 0
|
2月前
|
算法 C++
Leetcode第八题(字符串转换整数(atoi))
这篇文章介绍了LeetCode上第8题“字符串转换整数(atoi)”的解题思路和C++的实现方法,包括处理前导空格、正负号、连续数字字符以及整数溢出的情况。
19 0
|
4月前
|
算法
LeetCode第8题字符串转换整数 (atoi)
该文章介绍了 LeetCode 第 8 题字符串转换整数 (atoi)的解法,需要对字符串进行格式解析与校验,去除前导空格和处理正负号,通过从高位到低位的计算方式将字符串转换为整数,并处理越界情况。同时总结了这几道题都需要对数字的表示有理解。
LeetCode第8题字符串转换整数 (atoi)
|
6月前
|
SQL 算法 数据可视化
LeetCode第八题:字符串转换整数 (atoi)【8/1000 python】
LeetCode第八题:字符串转换整数 (atoi)【8/1000 python】
|
7月前
|
机器学习/深度学习 canal NoSQL
从C语言到C++_12(string相关OJ题)(leetcode力扣)
从C语言到C++_12(string相关OJ题)(leetcode力扣)
54 0
|
7月前
|
存储 编译器 Linux
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
|
7月前
|
存储 算法 C#
Leetcode算法系列| 8. 字符串转换整数 (atoi)
Leetcode算法系列| 8. 字符串转换整数 (atoi)
|
Java
Leetcode 467. Unique Substrings in Wraparound String
大概翻译下题意,有个无限长的字符串s,是由无数个「abcdefghijklmnopqrstuvwxy」组成的。现在给你一个字符串p,求多少个p的非重复子串在s中出现了?
53 0
|
算法 C++ Python
【力扣算法11】之 8. 字符串转换整数 (atoi) python
【力扣算法11】之 8. 字符串转换整数 (atoi) python
129 0
|
存储 算法 测试技术
力扣7-整数反转&力扣8-字符串转换整数 (atoi)
力扣7-整数反转&力扣8-字符串转换整数 (atoi)
85 0