8. String to Integer (atoi)

来源:互联网 发布:大牛晒密软件 编辑:程序博客网 时间:2024/06/06 00:10
class Solution {public:    int myAtoi(string str) {   int left = 0, right = str.size() - 1;int flag = 0;//标记字符串是正数还是负数long result = 0;while (str[left] == ' ')//去除字符串两端的空格;left++;while (str[right] == ' ')right--;if (str[left] == '-'){flag = -1;left++;}else if (str[left] == '+'){left++;flag = 1;} elseflag = 1;for (int i = left; i <= right; i++){if (str[i] == '-' || str[i] == '+')return 0;if (str[i] >= '0'&&str[i] <= '9')result = result * 10 + (str[i] - 48); //'0'=48else if (str[i + 1] >= '0'&&str[i+1] <= '9')//如果在数字字符中间有非空格的其他字符,则返回前面的结果;break;if (flag == -1 && result*flag < INT_MIN)return INT_MIN;if (flag == 1 && result*flag>INT_MAX)return INT_MAX;}return result*flag;    }};

0 0