题目连接:Leetcode 008 String to Integer
解题思路:遍历字符串,对当前字符和当前状态进行判断。
class Solution { public: int myAtoi(string str) { long ans = 0; int flag = 1; for (int i = 0; i < str.length(); i++) { if (str[i] == '-' ) flag = -1; else if (str[i] == '+') flag = 1; else if (str[i] == ' ') continue; if (str[i] == '-' || str[i] == '+') i++; while (str[i] >= '0' && str[i] <= '9' && i < str.length()) { ans = ans * 10 + (str[i] - '0') * flag; if (ans >= INT_MAX) return INT_MAX; if (ans <= INT_MIN) return INT_MIN; i++; } break; } return ans; } };