您的位置:首页 > Web前端

剑指offer题解 把字符串转换成整数(todo:考虑大整数的情况)

2016-06-25 22:05 483 查看
题目描述

将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。

这道题靠考虑到很多边界条件:

(1)字符串为空的情况;

(3)字符串含有非数字字符;

(2)字符串带正负号“+”、“-”,不含非数字字符;

(5)字符串不带正负号且为纯数字字符串;

(4)字符串只有正负号情况;

针对每种情况都要考虑到,所以代码如下:

public class Solution {
public int StrToInt(String str) {
boolean negative=false;
if(str==null||str.length()==0) return 0;
if(str.charAt(0)=='+'){
if(str.length()==1){
return 0;
}
str=str.substring(1);
}else if(str.charAt(0)=='-'){
if(str.length()==1){
return 0;
}
negative=true;
str=str.substring(1);
}
int num=0;
for(int i=0;i<str.length();i++){
if((str.charAt(i)-'0')>9){
return 0;
}
num=num*10+(str.charAt(i)-'0');
}
if(negative==true) num=-num;
return num;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: