标签:div 边界条件 技术 判断 算数 结束 == code 思路
思路:判断各种边界条件。
class Solution { public: int myAtoi(string str) { int s = str.size(); if(s==0) return 0; int i=0, flag=1, cur; //用i遍历,flag存储正负号 long ans = 0; //计算数字的值,因为可能超出int边界,故定义为long while(i<s && str[i] == ‘ ‘) //过滤前面的空格 i++; if(str[i]==‘-‘ || str[i] == ‘+‘){ //处理 + 和 - if(str[i] == ‘-‘) flag = -1; i++; } while(i<s && str[i]>=‘0‘ && str[i]<=‘9‘){ cur = str[i] - ‘0‘; ans = ans*10 + cur; if(ans * flag < INT_MIN) return INT_MIN; if(ans * flag > INT_MAX) return INT_MAX; i++; } return ans*flag; } };
标签:div 边界条件 技术 判断 算数 结束 == code 思路
原文地址:https://www.cnblogs.com/Bella2017/p/11247458.html