文档章节

my_atoi

 小龙Jason
发布于 2014/05/29 22:48
字数 86
阅读 2
收藏 0

听了atoi哥的故事,顺手写个

#define INT_MAX  (2147483647)
#define INT_MIN  (-2147483648)

int my_atoi(const char * str)
{
	if (!str)
		return 0;

	unsigned int result = 0;
	int sign = 1;

	if (*str == '-' || *str == '+')
	{
		if (*str == '-')
		{
			sign = -1;
		}
		++str;
	}

	while(*str >= '0' && *str <= '9')
	{
		unsigned int digital = *str-'0';
		if (result > INT_MAX /10
			|| (sign > 0)? (result == INT_MAX/10 && digital > INT_MAX%10) 
			:  (result == (INT_MAX +1)/10 && digital > (INT_MAX+1)%10) 
			)
		{
			return sign > 0 ? INT_MAX : INT_MIN;
		}
		result = result*10 + digital
		++str;
	}

	return ((int)result) * sign;
}

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 10
码字总数 2794
作品 0
海淀
程序员
LeetCode:String to Integer (atoi) - 字符串到数字的转换

1、题目名称 String to Integer (atoi) (字符串到数字的转换) 2、题目地址 https://leetcode.com/problems/string-to-integer-atoi/ 3、题目内容 英文:Implement atoi to convert a strin......

北风其凉
2015/07/31
0
0
字符串与其他基本类型的转换——从C到C++11

转自 IBM 编译器中国开发团队的《C++11中的string - atoi/itoa》 在C++11中,由于右值引用的引入,常为人所诟病std::string的性能问题得到了很大的改善。另外一方面,我们也可以看到新语言为...

人不知
2014/09/19
0
2
C/C++ atoi、atof与itoa函数的实现

1.atoi(ascii to integer)是把字符串转换成整型数的一个函数.atoi()函数会扫描参数 nptr字符串,跳过前面的空白字符(例如空格,tab缩进等)。 int atoi(char s[]){int i, n;n = 0;for (i = 0...

GUI1259802368
2017/10/07
0
0
C Primer Plus 第11章 11.9 把字符串转换为数字

数字即能以字符串形式也能 以数字形式存储。以字符串形式存储数字就是存储数字字符。例如,数字213即能以数字'2'、‘1’、‘3’、‘0’的形式存储在一个字符串数组中。以数字形式存储213意味...

idreamo
2016/08/29
28
0
leetcode -- String to Integer (atoi)

String to Integer (atoi) Description Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. If you want a challenge, please do not ......

leiline
2017/11/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

deepin系统使用deepin-wine安装exe程序

deepin自带原生deepin-wine使用命令如下: deepin-wine QQMusicSetup.exe deepin-wine的程序位置: /root/.wine 默认安装的QQ浏览器快捷方式位置: /root/.wine/drive_c/'Program Files'/Te...

临江仙卜算子
35分钟前
1
0
快速get到学习Linux操作系统的点

快速get到学习Linux操作系统的点 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能够运行主要的UNIX工具软件...

linuxCool
42分钟前
2
0
聊聊:Linux分区的那些方案

安装linux的整体步骤其实比较简单,唯一可能值得说明的地方,大概就是linux的分区了。 下面来给大家推荐一些分区方案。 1 分两个区 实际上,很多时候我们只需要分两个区:`/`和交换分区,日常...

Linux就该这么学
53分钟前
1
0
适配器模式和外观模式

适配器模式: 将一个类的接口,转换成客户期望的另一个接口。适配器让原本不兼容的类可以合作无间。 例子: //将Enumeration转换成Iteratorpublic class EnumerationIterator implements Iter...

王怀楼
54分钟前
2
0
7-CXF与Spring整合发布webservice

Spring+CXF整合来管理webservice 实现步骤: 1. 添加cxf.jar 包(集成了Spring.jar、servlet.jar ),spring.jar包 ,servlet.jar 包 2. 编写业务类,通过CXF来发布webservice 员工管理: 方法...

江戸川
57分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部