leetcode 第八题 String to Integer (atoi)

来源:互联网 发布:黑莓8700软件 编辑:程序博客网 时间:2024/05/17 08:28

       刚开始我被很长的英文说明给吓住了,看了一些解释之后才明白,不用想太多,只要处理好空格就可以了,正负号可要考虑进去。还有就是字符类型的数字和数字之间的转换,它们都是用ASCIL码存储的,最简单的就是让数字字符减去‘0’得到的就是数字的数值。

       代码:

class Solution{public:    int myAtoi(string str){if(str.length() == 0)return 0;//用long long类型存储结果,可判断是否溢出long long result = 0;int sign = 1, i = 0;//空格不计入计算while(str[i] == ' '){if(str[i] == ' ')i++;}if(str[i] == '+')i++;else if(str[i] == '-'){sign = -1;i++;}for(int j = i; j < str.length(); j++){if(str[j] >= '0' && str[j] <= '9'){result = result * 10 + (str[j] - '0');if(result > INT_MAX)return sign < 0 ? INT_MIN : INT_MAX;}elsebreak;}result *= sign;return (int)result;}};

        这里涉及到一个很重要的知识点,可能在以后的面试过程中会遇到,就是字符转数字、数字转字符的问题,我找了一篇博文专门写这个的,链接如下:

        字符转数字/数字转字符

        在面试题目中嗨经常遇到的一类是排序算法,排序算法归纳的链接如下:

        排序算法归纳

        

0 0
原创粉丝点击