leetcode String to Integer (atoi)
来源:互联网 发布:navicat如何连接mysql 编辑:程序博客网 时间:2024/06/08 03:53
题目地址这里
这个题涉及到了乘法的溢出判断和加法的溢出判断。加法的溢出判断在我之前的reverse integer有
乘法溢出的判断。我仅仅是想到这样的一个方法。就是乘过来再除回去。
判断溢出的代码如下
resultTemp=result*10; if(resultTemp/10!=result) { if(positive) { return 2147483647; } else { return -2147483648; } }
题目的解答代码如下
public class Solution { public int myAtoi(String str) { if(str==null) { return 0; } str=str.trim(); if(str.length()==0) { return 0; } boolean positive=true; boolean haveFlag=false; int result=0; switch (str.charAt(0)) { case '-': positive=false; haveFlag=true; break; case '+': positive=true; haveFlag=true; break; default: if(Character.isDigit(str.charAt(0))) { positive=true; haveFlag=false; } else { return 0; } break; } int i; if(haveFlag) { i=1; } else { i=0; } int resultTemp;//乘法溢出检测用 while(i<str.length()) { if(Character.isDigit(str.charAt(i))) { resultTemp=result*10; if(resultTemp/10!=result) { if(positive) { return 2147483647; } else { return -2147483648; } } if(positive) { result=resultTemp+str.charAt(i)-'0'; } else { result=resultTemp-(str.charAt(i)-'0'); } if(positive&&result<0) { return 2147483647; }else if (!positive&&result>0) { return -2147483648; } } else { return result; } i++; } return result; }}
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]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)
- android开发环境安装与配置
- mybatis 联合查询
- Ext实现waiting提示功能
- 一张帖搞定同学们入学黑马前所有难题
- PNG文件格式详解
- leetcode String to Integer (atoi)
- lua不支持thrift协议
- postgre命令行操作
- Myelipse如何最佳设置
- C++Primer笔记
- 进制转换2
- android 自定义view 圆形进度条
- druid.io中国社区群信息
- ios开发所需图片尺寸汇总