LeetCode: String to Int
来源:互联网 发布:鬼吹灯网络剧 编辑:程序博客网 时间:2024/05/22 00:34
此题在Leetcode上判定的规则与剑指offer上面有点不同,Leetcode上对于如下输入“ +12a43” , 输出为12,而剑指offer则判定为非法输入,即输出为0;
而对于溢出的情况,如上溢或下溢,即正数>0x7FFFFFFF或负数<0x80000000,则输出为0x7FFFFFFF或0x80000000, 而剑指offer则判定为溢出,即输出为0.
import java.util.Scanner;public class StringToInt {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubScanner scan = new Scanner(System.in);String str = scan.nextLine();StringToInt sti = new StringToInt();System.out.println(sti.atoi(str));}public int atoi(String str){int result = 0;if(str==null||str.length()==0){return 0;}boolean negative = false;int length = str.length();int i = 0;while(str.charAt(i)==' '){i++;}if(str.charAt(i)=='+'){negative = false;result = (int)stringtoint(str.substring(i+1, length), negative);}else if(str.charAt(i)=='-'){negative = true;result = (int)stringtoint(str.substring(i+1, length), negative);}else{result = (int)stringtoint(str.substring(i,length), negative);}return result;}public long stringtoint(String str, boolean negative){if(str==null||str.length()==0){return 0;}int i = 0;long result = 0;int flag = (negative==true)?-1:1;while(i<str.length()){if(str.charAt(i)>='0'&&str.charAt(i)<='9'){result = result*10+flag*(str.charAt(i)-'0');if((negative==true&&result<0x80000000)||(negative==false&&result>0x7FFFFFFF)){if(negative==false){return 0x7FFFFFFF;}elsereturn 0x80000000;}i++;}elsereturn result;}return result;}}
0 0
- LeetCode: String to Int
- 【LeetCode】String-to-int
- LeetCode 08:string to int(atoi)(C++实现)
- c++ int to string
- String To Int
- string to int
- int to string
- C++: int to string
- int to string
- string to int
- vc int to string
- string to int
- Transform String to Int
- int to string
- java String to int
- C++ int to string
- string to int
- String to int
- 编程精粹--编写高质量C语言代码(0):引言
- Hibernate统计和查询二级缓存
- 产品经理的自我培养
- ZOJ-1074
- office 安装路径
- LeetCode: String to Int
- myeclipse优化
- CuteFTP远程主机拒绝连接Linux(RedHat)
- Virtualbox [The headers for the current running kernel were not found]
- hdu 1907 John
- linux压缩、解压缩 命令总结
- 串口校验
- ATL实战开发指南笔记-----2.1
- 华为路由器和交换机两种配置方式