LeetCode String to Integer (atoi)

原创 2013年12月02日 19:27:35

剑指offer倒数第二道题,用long long 来存整数才能判断相乘是否溢出

#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
int atoi(const char *str) {
	int i,signal=1;
	long long sum=0;
	if (str==NULL||*str==0)
	{
		return 0;
	}
	while(*str==' '||*str=='\t'||*str=='\n')
	{
		str++;
	}
	if (*str=='-'||*str=='+')
	{
		if (*str=='-')
		{
			signal=-1;
		}
		str++;
	}
	if (*str>'9'||*str<'0')
	{
		return 0;
	}
	while(*str)
	{
		if (*str>'9'||*str<'0')
		{
			return sum;
		}
		if (signal<0)
		{
			if (10*sum < INT_MIN)
			{
				return INT_MIN;
			}
			sum = sum*10 - *str + '0';//sum*10 + -( *str - '0')
			if (sum < INT_MIN)
			{
				return INT_MIN;//-2147483648;-1;
			}
		}
		else
		{
			if ( 10 * sum > INT_MAX)//if (10*sum<0)
			{
				return INT_MAX;
			}
			sum = sum*10 + *str - '0';//sum*10 + ( *str - '0')
			if (sum > INT_MAX)
			{
				return INT_MAX;//(2147483647);
			}
		}
		str++;
	}
	return sum;
}

int _tmain(int argc, _TCHAR* argv[])
{
	char s[100]="    10522545459";
	cout<<atoi(s)<<endl;
	system("pause");
	return 0;
}
以后把主函数也贴上,便于测试了

[JAVA]LeetCode8 String to Integer (atoi)

Implement atoi to convert a string to an integer.
  • fumier
  • fumier
  • 2015年04月15日 16:09
  • 954

【LeetCode】String to Integer (atoi) 解题报告

这道题在LeetCode OJ上难道属于Easy,但是通过率却比较低,究其原因是需要考虑的情况比较低,很少有人一遍过吧。 【题目】 Implement atoi to convert a stri...
  • ljiabin
  • ljiabin
  • 2014年10月27日 16:19
  • 12101

LeetCode题解--8. String to Integer (atoi)

题目Implement atoi to convert a string to an integer.Hint: Carefully consider all possible input cases...
  • gatieme
  • gatieme
  • 2016年04月02日 23:10
  • 1215

LeetCode(8)String to Integer (atoi)

题目: Implement atoi to convert a string to an integer. Hint: Carefully consider all possible ...
  • fly_yr
  • fly_yr
  • 2015年04月27日 16:57
  • 3642

Leetcode-8-String to Integer(atoi) C++

Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases...
  • u014056175
  • u014056175
  • 2016年06月27日 14:24
  • 367

leetcode 8: String to Integer (myAtoi,C库函数atoi模拟) (剑指offer 面试题49) 解题报告

leetcode 8: String to Integer (myAtoi) (剑指offer 面试题49) 解题报告 8. String to Integer (atoi) 提交网址...
  • yanglr2010
  • yanglr2010
  • 2016年05月03日 10:13
  • 1249

[LeetCode]String to Integer (atoi)

题目要求: mplement atoi to convert a string to an integer. Hint: Carefully consider all possible input c...
  • zhouworld16
  • zhouworld16
  • 2013年11月13日 21:45
  • 5460

LeetCode 8 String to Integer (atoi) (C,C++,Java,Python)

Problem: Implement atoi to convert a string to an integer. Hint: Carefully consider all poss...
  • runningtortoises
  • runningtortoises
  • 2015年05月07日 10:38
  • 2080

[LeetCode][8]String to Integer (atoi)解析与模仿Java源码实现 -Java实现

Q: Implement atoi to convert a string to an integer. Hint: Carefully consider all possible i...
  • u014629433
  • u014629433
  • 2016年06月07日 12:19
  • 1216

String to Integer (atoi) -- LeetCode

原题链接:http://oj.leetcode.com/problems/string-to-integer-atoi/  这道题还是对于Integer的处理,在Reverse Integer这道题...
  • linhuanmars
  • linhuanmars
  • 2014年03月16日 00:55
  • 11445
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LeetCode String to Integer (atoi)
举报原因:
原因补充:

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