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;
}
以后把主函数也贴上,便于测试了

[LeetCode OJ]ZigZag Conversion && Valid Sudoku && String to Integer (atoi)

ZigZag Conversion我的思路: 1、将一个锯齿状排列的字符串拉成一条线,输入到一个新的字符串中。 2、只要弄清楚循环的特征,算好nRows的变化给循环带来的变化,还是很容易完成。 ...

LeetCode刷题笔录String to Integer (atoi)

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

leetcode #8 String to Integer (atoi)

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

leetcode:String to Integer (atoi)

一、     题目 题目目的很明显,就是将一个字符串转换成整数,也就是平时经常用到的atoi. 二、     分析 题目其实不难,不过需要注意下面几点: 1、字符串前的空白 2. 字符串所表示数值的正...

8. String to Integer (atoi) LeetCode题解

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

Leetcode之String to Integer (atoi)

和真正的C++中atoi函数还是有区别的哦~~~ 情况 Input Output 空 “” 0 空格 ” “ 0 空格系列 ” ...

[LeetCode]--8. String to Integer (atoi)

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

<leetcode>String to Integer (atoi)

问题描述: Implement atoi to convert a string to an integer. Hint: Carefully consider all possible in...

leetcode——String to Integer (atoi) 字符串转换为整型数(AC)

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

LeetCode之8_String to Integer (atoi)

题目原文: Implement atoi to convert a string to an integer. Hint: Carefully consider all pos...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LeetCode String to Integer (atoi)
举报原因:
原因补充:

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