字符串面试题67. 把字符串转换成整数(atoi)
Posted ocpc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串面试题67. 把字符串转换成整数(atoi)相关的知识,希望对你有一定的参考价值。
题目:
解答:
1 class Solution { 2 public: 3 int strToInt(string str) 4 { 5 if (str.size() == 0) 6 { 7 return 0; 8 } 9 10 int i = 0; 11 int minus = 1; 12 13 // skip spaces 14 while (str[i] == ‘ ‘) 15 { 16 i++; 17 } 18 19 // get sign 20 if (str[i] == ‘-‘) 21 { 22 minus = -1; 23 i++; 24 } 25 else if (str[i] == ‘+‘) 26 { 27 minus = 1; 28 i++; 29 } 30 31 // convert numbers 32 int num = 0; 33 while (isdigit(str[i])) 34 { 35 // 214748364 = INT_MAX / 10 36 if ((num == 214748364) && ((str[i] - ‘0‘) > 7) || (num > 214748364)) 37 { 38 return (minus > 0) ? INT_MAX : INT_MIN; 39 } 40 num = 10 * num + (str[i] - ‘0‘); 41 i++; 42 } 43 44 return (minus > 0) ? num : -num; 45 } 46 };
以上是关于字符串面试题67. 把字符串转换成整数(atoi)的主要内容,如果未能解决你的问题,请参考以下文章
[LeetCode]面试题67. 把字符串转换成整数(字符串)
[LeetCode]面试题67. 把字符串转换成整数(字符串)