[剑指Offer] 49.把字符串转换成整数
2024-10-19 19:43:04
题目描述
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
【思路】考虑所有特殊情况
1.数字前面有空格,如s=" 123456",空格需舍弃。
2.数字前出现了不必要或多于的字符导致数字认证错误,输出0。如s=" b1234",s=" ++1233", s=" +-1121"。
3.数字中出现了不必要的字符,返回字符前的数字。如s=" 12a1", s=" 123 123"。
4.数字越界,超过了范围(-2147483648--2147483647),分别返回-2147483648和2147483647。
class Solution
{
public:
int StrToInt(string str)
{
if(str == "") return ;
int i = ,flag = ;
long long num = ;
while(str[i] != '\0' && str[i] == ' ') i ++;//去掉开头空格
if(str[i] == '+') i ++; //处理开头正负号
else if(str[i] == '-')
{
flag = -;
i ++;
}
while(str[i] != '\0')
{
if(str[i] >= '' && str[i] <= '')
{
num = num * + str[i] - '';
i ++;
if(num > INT_MAX){
return (flag == )?INT_MAX:INT_MIN;
}
}
else return ;
}
num *= flag;
return num;
}
};
最新文章
- 为什么 input 元素能用 width 属性
- 【转】C#多线程学习
- [SqlServer]创建链接服务器
- uC/OS-II中includes块
- json_encode() 和 json_decode()
- WPS 文字排版 标题回车后标题号自动增加
- 【jquery】一款不错的音频播放器——Amazing Audio Player
- C# Windows - TabControl
- Linux Shell常用命令手册(Updating)
- 在TreeWidget中增加右键菜单功能 以及TreeWidget的基本用法
- iframe框架子页面与父页面间的通信
- WEB版一次选择多个图片进行批量上传(WebUploader)的解决方案
- 浅谈-RMQ
- mysql 索引列为Null的走不走索引及null在统计时的问题
- SQL server 2017使用教程
- kod 编辑器下载
- 一般xcode报错
- MySQL安装的挫折之路
- 【逆向笔记】OD工具使用-逆向TraceMe.exe
- PHP实现批量删除(封装)