Problem's Link

 ----------------------------------------------------------------------------

Mean: 

给你一个字符串,让你将其转换为数字.

analyse:

注意细节,坑点有点多.

Time complexity: O(N)

 

view code

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

相关文章:

  • 2021-08-05
  • 2021-12-16
  • 2021-06-23
  • 2021-10-24
  • 2022-01-10
  • 2021-09-01
  • 2021-11-08
猜你喜欢
  • 2021-11-17
  • 2021-07-21
  • 2021-06-29
  • 2022-01-27
  • 2022-03-05
  • 2021-10-30
  • 2021-11-05
相关资源
相似解决方案