关于string转整数

Posted Rainlin随笔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于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转整数的主要内容,如果未能解决你的问题,请参考以下文章

pythonb新手关于 int float str三种指令的问题

以下代码片段的时间复杂度是多少?

JavaScript笔试题(js高级代码片段)

[转]关于网络通信,byte[]和String的转换问题

java 判断整数还是小数

2字节字符串,怎么转成整数