字符串转整数(atoi)

原创 2018年04月16日 16:46:06
/*实现 atoi,将字符串转为整数。


提示:仔细考虑所有的输入情况。如果你想挑战自己,请不要看下面的示例,并尽可能独立思考所有的情况。


说明:这道题解释的比较模糊(即没有指定输入格式)。你需要事先汇总所有的输入情况。*/


 /*字符串题一般考查的都是边界条件、特殊情况的处理。所以遇到此题一定要问清楚各种条件下的输入输出应该是什么样的。这里已知的特殊情况有:


能够排除首部的空格,从第一个非空字符开始计算
允许数字以正负号(+-)开头
遇到非法字符便停止转换,返回当前已经转换的值,如果开头就是非法字符则返回0

在转换结果溢出时返回特定值,这里是最大/最小整数

public int myAtoi_2(String str) {
		 if (str.isEmpty()) 
			 return 0;
	     int sign = 1, i = 0, n = str.length();
	     long base = 0;
	     while (i < n && str.charAt(i) == ' ') 
	    	 ++i;
	     if (str.charAt(i) == '+' || str.charAt(i) == '-') {
	         sign = (str.charAt(i++) == '+') ? 1 : -1;
	     }
	     while (i < n && str.charAt(i) >= '0' && str.charAt(i) <= '9') {
	        base = 10 * base + (str.charAt(i) - '0');
	        if (base > Integer.MAX_VALUE  ||  base < Integer.MIN_VALUE) {
	            return (sign == 1) ? Integer.MAX_VALUE : Integer.MIN_VALUE;
	        }
	        i++;
	     }
	    return (int)base * sign;

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/whitesun123/article/details/79962791

Leetcode:字符串转整数(atoi)

实现 atoi,将字符串转为整数。提示:仔细考虑所有输入情况。如果你想挑战自己,请不要看下面并自己考虑所有可能的输入情况。说明:这题解释的比较模糊(即没有指定输入格式)。你得事先汇集所有的输入情况。 ...
  • qitong111
  • qitong111
  • 2018-04-08 14:58:56
  • 25

字符串转整数(atoi) 十进制实现

atoi实现
  • net_wolf_007
  • net_wolf_007
  • 2016-06-20 10:39:42
  • 430

atoi字符串转整数实现

算法: 从首开始,将每一位字符转成数字(使用-‘0’),然后乘10累加。边界条件很复杂: 1、正负数判断,正负符号判断 2、是否在0~9之间的字符 3、是否超过了int的上下限class So...
  • sinat_27612639
  • sinat_27612639
  • 2016-07-12 20:01:09
  • 149

字符串转整数,MyAtoi方法的实现

字符串转整数
  • qq_25827845
  • qq_25827845
  • 2017-05-16 22:22:54
  • 1027

leetcode-8-String to Integer (atop)字符串转整数

Carefully consider all possible input cases.考虑程序要全面: 边界处理:溢出,最大正整数,最小负整数返回什么有非数字符号,正负号,小数点,会有指数吗?(都没...
  • chenyaxue
  • chenyaxue
  • 2016-03-04 15:02:52
  • 657

LeetCode8. 字符串转整数(atoi)

题目大意:实现atoi函数,这个函数是实现字符串转成整数的功能题目分析:本题的关键在于特殊情况的处理。特殊情况实在太多,但只要通过一次次提交,知道自己的代码在哪些样例上通不过,然后修改代码使其覆盖这个...
  • Jaster_wisdom
  • Jaster_wisdom
  • 2018-04-11 23:31:16
  • 23

字符串string转整数int 实现自己的atoi函数

//============================================================================ // Name : myAt...
  • forever_yu
  • forever_yu
  • 2015-05-18 10:46:38
  • 908

leetcode-8-字符串转数字atoi

需要尽可能考虑所有的情况,不符合的情况返回0 首先字符串有可能存在前导空白,需要去掉,然后第一个字符只能为正号负号或者数字,考虑Integer的parseInt方法,如果第一个字符时正号,需要去掉。...
  • u013115610
  • u013115610
  • 2017-07-17 21:27:27
  • 78

8. String to Integer (atoi)(将输入的字符串转化为整数)

官网Implement atoi to convert a string to an integer.Hint: Carefully consider all possible input cases...
  • qq_16949707
  • qq_16949707
  • 2016-09-19 10:29:57
  • 155

题目:模拟实现atoi(字符串转换为整数)函数,比如“12345”转换后就是12345。

题目:模拟实现atoi(字符串转换为整数)函数,比如“12345”转换后就是12345。 解析:要考虑的边界问题:   (1) NULL输入。   (2) 非法字符输入(如果只考虑十...
  • yanxiaolx
  • yanxiaolx
  • 2016-09-06 15:35:19
  • 805
收藏助手
不良信息举报
您举报文章:字符串转整数(atoi)
举报原因:
原因补充:

(最多只允许输入30个字)