首页 > 代码库 > 关于string转整数

关于string转整数

又是leetcode的easy级别题,很基本的题目,却漏考虑很多情况,动手前一定要考虑清楚呀!!!

就当做锻炼写作能力吧,先上题目!

技术分享

将文本转换成整数,注意一下几点:

1.文本里面第一个不为空白的字符应该为数字或‘+’、‘-’,否则返回0;

2.文本中数字后面的文本不影响结果;

3.转换后的值若超过了int的最值应返回最值。

上代码吧!

class Solution {public:	int myAtoi(string str) {		int start = 0;		for (int i = 0; i!= str.length(); i++)		{			if (str[i] == ‘ ‘)				start++;			else				break;		}		if(start>=str.length())		    return 0;		    		int p = 0,t=0;		if (str[start] == ‘-‘)		{			start++;			p = 1;		}		else if (str[start] == ‘+‘)			start++;		for (; start <str.length(); start++)		{						char m = str[start] - ‘0‘;			if (m >= 0 && m <= 9)			{			    if(t>INT_MAX/10)			        if(p==0)			            return INT_MAX;			        else			            return INT_MIN;		    	t *= 10;			        if(p==0&&t>INT_MAX-m)			            return INT_MAX;			        else if(p!=0&&-t<(INT_MIN+m))			            return INT_MIN;				t += m;			}			else				break;		}		return p==0?t:-t;	}};

 

关于string转整数