将整数字符串转成整数值
来源:互联网 发布:java程序设计教程 实验 编辑:程序博客网 时间:2024/06/05 11:04
题目
给定一个字符串str,如果str符合日常书写的整数形式,并且属于32位整数的范围,返回所代表的整数值,否则返回0。
eg
str = “123”,返回123.
str = “023”,因为“023”不符合日常的书写习惯,所以返回0.
str = “A23”,返回0;
str = “0”,返回0;
str= “2147483647”,返回2147483647.
str = “2147483648”,因为溢出了,所以返回0;
str = “-123”,返回-123;
代码
public boolean isValid(char[] chas){ if(chas[0]!= '-'&&(chas[0]<'0'||chas[0]>'9'){ return false; if(chas[0]=='-'&&(chas.length ==1||chas[1] =='0')){ return false; if(chas[0]=='0'&&chas.length>1){ return false; for(int i =1;i<chas.length;i++){ if(chas[i]<'0'||chas[i]>'9'){ return false; } } return true;}
public int convert(String str){ if(str == null || str.equals(""){ return 0; } char [] chas = str.toCharArray(); if(!isValid(chas)){ return 0; } boolean posi = chas[0]=='-'?false:true; int minq = Integer.MIN_VALUE/10; int minr = Integer.MIN_VALULE%10; int res = 0; int cur = 0; for(int i = posi?0:1;i<chas.length;i++){ cur = '0'-chas[i]; if((res<minq)||(res == minq&&cur<minr){ return 0; } res = res*10+cur; } if(posi&&res == Integer.MIN_VALUE){ return 0; } return posi?-res:res;}
阅读全文
0 0
- 将整数字符串转成整数值
- 将整数字符串转成整数值
- 字符串之将整数字符串转成整数值
- 将整数字符串转成整数值 Python版
- 将整数字符串转成整数型
- 将字符串转成整数以及整数转成字符串
- 字符串问题---将整数字符串转成整数型
- 剑指offer-16-将字符串转成整数
- 将整数字符串转成整数值--《程序员代码面试指南》p249
- 字符串转成整数
- 整数转成字符串
- 字符串转成整数
- 字符串转成整数方法
- 字符串反转成整数
- 字符串转成整数
- 实现整数转成字符串
- 字符串转成整数
- 5.5 将整数字符串转为整数值
- AtCoder 079F Namori Grundy
- SqlSessionFactory和Sqlsession
- HDU 2124 Repair the Wall
- BZOJ4318 OUS! 解题报告【期望DP】
- springcould学习(二)之eureka
- 将整数字符串转成整数值
- 剑指offer 之 顺时针打印矩阵
- 怎么禁用笔记本触摸板
- 设计模式-介绍
- 滑动窗口的最大值——双端队列
- 220. Contains Duplicate III
- CentOS配置SSH
- const修饰类的成员函数
- 容斥模板