leetcode 之 String to Integer (atoi)
来源:互联网 发布:java种颜色代码 编辑:程序博客网 时间:2024/05/16 11:49
函数原型为:int atoi(const char *str)
注意特殊情况的处理:
1.指针为NULL的处理。
2.字符串头部有空格。
3.+和-号的处理。
4.整形溢出的处理,如INT_MAX (2147483647) 或 INT_MIN (-2147483648) 的处理。
5.特殊字符的处理,如 35cx等应当输出35等。
#include <assert.h>#include <limits.h>int atoi(const char *str){ assert(str!=NULL); //whether the pointer is null const char * ptr=str; while(*ptr==' ') //ignore the space ptr++; bool positive=true; if((*ptr!='\0')&&*ptr=='+') { positive=true; ptr++; } else if((*ptr!='\0')&&*ptr=='-') { positive=false; ptr++; } int n=0; while(*ptr!='\0') { if(*ptr>'9'||*ptr<'0') break; if (n > INT_MAX / 10 || //if it is out of the range of representable values (n == INT_MAX / 10 &&(*ptr - '0') > INT_MAX % 10)) { return positive == false ? INT_MIN : INT_MAX; } if((*ptr<='9')&&(*ptr>='0')) { n=10*n+(*ptr-'0'); ptr++; } } if(positive==false) n=-1*n; return n;}
0 0
- leetCode 之 String to Integer (atoi)
- leetcode 之 String to Integer (atoi)
- leetcode 之 String to Integer (atoi)
- leetcode之String to Integer (atoi)
- LeetCode之String to Integer(atoi)
- Leetcode之String to Integer (atoi)
- 【Leetcode】之String to Integer (atoi)
- LeetCode之8----String to Integer (atoi)
- LeetCode 之 String to Integer (atoi)
- LeetCode:String to Integer (atoi)
- LeetCode: String to Integer (atoi)
- LeetCode String to Integer(atoi)
- LeetCode :String to Integer (atoi)
- Leetcode: String to Integer (atoi)
- Leetcode : String to Integer (atoi)
- 【leetcode】String to Integer (atoi)
- [LeetCode]String to Integer (atoi)
- LeetCode-String to Integer (atoi)
- asp.net中ListView分页功能
- 草根美女(S)35
- Android CMWAP和CMNET 切换APN
- Single Number II (leetcode)
- hdu 超级密码 1226
- leetcode 之 String to Integer (atoi)
- HTTP头域列表与解释 之 response篇
- 《王坚:云计算和大数据,你们都理解错了》--潘越飞 读后感
- Android学习之自定义EditText实现延时保存
- java.net.Decoder、java.net.Encoder
- 在一个service中启动一个activity
- centos6.5主机下虚拟XP_sp3
- 对于刚开始学习Java的人一点建议
- LINQ to XML简介(1)