NowCode
题目描述
题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
解题思路
import java
.util
.*
;
import java
.lang
.*
;
public class Solution {
public int StrToInt(String str
) {
char[] carr
= str
.trim().toCharArray();
if(carr
.length
== 0)
return 0;
int res
= 0, sign
= 1;
int intMax
= Integer
.MAX_VALUE
/ 10;
int index
= 1;
if(carr
[0] == '-') sign
= -1;
else if(carr
[0] != '+') index
= 0;
for(int i
= index
; i
< carr
.length
; i
++) {
if(carr
[i
] < '0' || carr
[i
] > '9')
return 0;
if(res
> intMax
|| res
== intMax
&& carr
[i
] > '7')
return sign
== 1 ? Integer
.MAX_VALUE
:Integer
.MIN_VALUE
;
res
= res
* 10 + carr
[i
] - '0';
}
return sign
* (int)res
;
}
}
瑞 新
认证博客专家
分布式
Java
架构
求职中 • Java全栈养成计划公众号 • 让我遇见相似的灵魂回复领取:竞赛 书籍 项目 面试左手代码,右手吉他,这就是天下:如果有一天我遇见相似的灵魂 那它肯定是步履艰难 不被理解 喜黑怕光的。如果可以的话 让我触摸一下吧 它也一样孤独得太久。 不一样的文艺青年,不一样的程序猿。