LeedCode String to Integer (atoi)

来源:互联网 发布:messenger mac 编辑:程序博客网 时间:2024/06/06 16:32

网址:https://leetcode.com/problems/string-to-integer-atoi/description/

题目:

Implement atoi to convert a string to an integer.

Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input cases.

Notes: It is intended for this problem to be specified vaguely (ie, no given input specs). You are responsible to gather all the input requirements up front.

翻译:

 实现atoi方法(字符串转为整数)

思路:


解题思路:
题目简单,重要的是注意一些边界条件,如判定越界,是否含有非法字符,前空格去掉等

代码:

class Solution {public:   int myAtoi(string str) {          int index=0;          while(str[index]==' ')index++;          int flag=1;          if(str[index]=='-'){              index++;              flag=-1;          }else if(str[index]=='+'){              index++;          }          int res=0;          while(index<str.size()){              if(str[index]<'0' || str[index]>'9'){                  return flag*res;              }              int digit=str[index]-'0';              if(flag==1 && res*10.0+digit>INT_MAX){                  return INT_MAX;              }else if(flag==-1 && -(res*10.0+digit)<INT_MIN){                  return INT_MIN;              }              res = res*10+digit;              index++;          }          return flag*res;      }  };