LeetCode-String to Integer (atoi) -解题报告

原创 2015年07月08日 21:25:59

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

Implement atoi to convert a string to an integer.

Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input cases.

Notes: It is intended for this problem to be specified vaguely (ie, no given input specs). You are responsible to gather all the input requirements up front. 


实现atoi的功能。

我就说一下有一些注意的地方。

  1. 字符串开始可能有空白符需要跳过。
  2. 正负数的情况。
  3. 数值超过了int的表示范围

class Solution {
public:
    int myAtoi(string str) {
		int pos = 0;
		long long ans = 0;
		bool sign = true;

		while (str[pos] == ' ')pos++;
		if (str[pos] == '-')sign = false, pos++;
		else if(str[pos] == '+')pos++;

		while (pos < str.length())
		{
			int tmp = str[pos] - '0';
			if(tmp >= 0 && tmp <= 9)ans = ans * 10 + tmp;
			else break;
			if (ans > INT_MAX || ans < INT_MIN)return sign ? INT_MAX : INT_MIN;
			pos++;
		}
		return sign ? ans : -ans;
	}
};

相关文章推荐

[leetcode] 8. String to Integer (atoi) 解题报告

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

[Leetcode] 8. String to Integer (atoi) 解题报告

题目: Implement atoi to convert a string to an integer. 思路:        这是我见过的最简单的题目描述了。可是正因为简单,该题目的考点就...

【Leetcode】8.String to Integer (atoi) 解题

Implement atoi to convert a string to an integer.Hint: Carefully consider all possible input cases. ...

leetCode 8. String to Integer (atoi) (字符串转整形) 解题思路和方法

问题: String to Integer (atoi)  Implement atoi to convert a string to an integer. Hint: Carefully...

【LeetCode】Roman to Integer 解题报告

Roman to Integer [LeetCode] Given a roman numeral, convert it to an integer.

LeetCode 13. Roman to Integer 解题报告

LeetCode 13. Roman to Integer 解题报告

[LeetCode 解题报告]013. Roman to Integer

Description: Given a roman numeral, convert it to an integer. Input is guaranteed to be within the r...

【LeetCode】Integer to Roman 解题报告

Integer to Roman [LeetCode] Given an integer, convert it to a roman numeral.

LeetCode解题报告--Integer to Roman

题目:阿拉伯数字转罗马数字Given an integer, convert it to a roman numeral. Input is guaranteed to be within the ...

LeetCode Roman to Integer 罗马字符转数字 解题报告

LeetCode Roman to Integer 解题报告: 把一个字符串形式的罗马字符串转为数字。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LeetCode-String to Integer (atoi) -解题报告
举报原因:
原因补充:

(最多只允许输入30个字)