LeetCode8. 字符串转换整数 (atoi)
题目
分析
简单模拟
代码
1 class Solution { 2 public: 3 int myAtoi(string s) { 4 //首先去除开头空格 5 int k = 0; 6 while(k < s.size() && s[k] == ' '){k++;} 7 8 int flag = 1;//标志位,判断正负 9 if(s[k] == '-') {flag = -1,k++;} 10 else if(s[k] == '+') {k++;} //这里必须用else if 不可用else ,if 11 12 long long res = 0; 13 while(k < s.size() && s[k] >= '0' && s[k] <= '9'){ 14 res = res * 10 + s[k] - '0'; 15 k++; 16 17 if(res > INT_MAX) break; 18 } 19 20 res = res * flag; 21 if(res > INT_MAX) return INT_MAX; 22 if(res < INT_MIN) return INT_MIN; 23 return res; 24 } 25 };