《剑指offer》-把字符串转换成整数
来源:互联网 发布:单片机仿真软件怎么用 编辑:程序博客网 时间:2024/04/29 22:45
题目描述
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。
解法:
1.判断字符串指针是否为NULL,字符串是否为空“\0”
2.判断第一个正、负号
3.进行循环判断,核心转换就是字符-‘0’就是数字了,然后*10,不断累加即可
4.还要判断是否溢出,int为4个字节,所以正数上限为0x7FFFFFFF,负数的底线为0x8FFFFFFF
class Solution {public: int StrToInt(string str) { long long num = 0; const char * cstr = str.c_str(); if(cstr != NULL & *cstr != '\0') { bool minus = false; if(*cstr == '+') cstr++; else if(*cstr == '-') { cstr++; minus = true; } if(*cstr != '\0') { num = StrToIntCore(cstr, minus); } } return (int)num; } long long StrToIntCore(const char * diggt, bool min) { long long num = 0; while(*diggt != '\0') { int flag = min ? -1:1; if(*diggt < '9' && *diggt > '0') { num = num * 10 + flag * (*diggt - '0'); if((!min && num > 0x7FFFFFFF) || (min && num < (signed int)0x80000000)) { num = 0; break; } diggt++; } else { num = 0; break; } } return num; }};
0 0
- 剑指offer--把字符串转换成整数
- 《剑指offer》把字符串转换成整数
- 《剑指offer》把字符串转换成整数
- [剑指offer]把字符串转换成整数
- 剑指offer|把字符串转换成整数
- 《剑指offer》-把字符串转换成整数
- 剑指offer 把字符串转换成整数
- 剑指offer: 把字符串转换成整数
- 【剑指offer】把字符串转换成整数
- 剑指offer--把字符串转换成整数
- 把字符串转换成整数 剑指offer
- 剑指offer:把字符串转换成整数
- 剑指offer-把字符串转换为整数
- 【剑指offer】题目1508:把字符串转换成整数
- 剑指offer--面试题49:把字符串转换成整数
- 剑指offer——把字符串转换成整数
- 剑指Offer:面试题49 把字符串转换成整数
- 剑指offer系列源码-把字符串转换成整数
- 正则表达式替换字符
- 这8大信用卡秘密!银行绝不会说
- eclise项目中文转码
- 正则表达式表单验证
- KMP模板
- 《剑指offer》-把字符串转换成整数
- linux编译软件
- 操作系统思考 第八章 多任务
- Oracle OCP笔记(29)RMAN备份 - Config
- C++体会
- ubuntu14 启用中文输入法
- Oracle OCP笔记(30)数据库恢复
- 探索《How Tomcat Works》心得 七 Session
- mysql 主从复制配置