8. 字符串转整数 (atoi)

2023-02-16,,,

题目

代码

class Solution {
public:
int myAtoi(string str)
{
int res=0,sign=1; int i=str.find_first_not_of(' '); if(str[i]=='+'||str[i]=='-') sign=str[i++]=='+'?1:-1;
int base=INT_MAX/10; while(isdigit(str[i]))
{
if(res>base||(res==base&&(str[i]-'0')>7))
return sign==1?INT_MAX:INT_MIN; res=res*10+str[i++]-'0'; }
return sign*res;
}
};

思路

先找出是否有符号,如果有则判断是正数还是负数,然后每次加上一位数字之前需要判断是否会导致溢出,如果溢出则直接返回整数最大值或者最小值。

8. 字符串转整数 (atoi)的相关教程结束。

《8. 字符串转整数 (atoi).doc》

下载本文的Word格式文档,以方便收藏与打印。