这道题目理解起来有点费劲,反正我理解了很久都没懂。。。
题目要求:将字符串转换为整数输出
1.空字符串时返回0;
2.丢弃前面的空白字符直到第一个非空白字符;
3.判断第一个字符是否为“+”或“-”,记录(也有可能第一个字符就是数字);
4.对后面的字符进行判断,若为数字则记录,否则,终止转换;
5.考虑转换后的结果是否溢出,溢出则输出相应符号的边界值。
过程中遇到了很多错误。。。并不理解,,现在还没通过
接着改。。。
终于accept了
运行时间:8ms
第一次运行时间是12ms,两次的区别仅仅是
将result=10*result+(str[i]-'0');
i++;
改为了
,真是神奇呢。
遇到的问题:第一、str[i]>='0'&&str[i]<='9' 是与字符‘0’和‘9’进行比较,而非直接比较0和9,基础不牢;
第二、考虑符号的时候,除了要考虑第一个字符为‘-’外还要考虑字符为‘+’;
第三、过程中确实遇到了很多难以理解的错误,但我不知道具有错误的原因,我也不知道是改了哪一步才accept的。
以后要多练习。
ps::插入图片太不方便了吧,不能直接插入qq截图
pps:::题库现有82EASY,,170MEDIUM