您的位置:首页 > Web前端

剑指offer——48.把字符串转换成整数

2017-09-20 21:45 281 查看

题目描述

将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0

输入描述:

输入一个字符串,包括数字字母符号,可以为空

输出描述:

如果是合法的数值表达则返回该数字,否则返回0

示例1

输入

+2147483647

1a33

输出

2147483647

0

代码

思路:递归,

function StrToInt(str)
{
// write code here
if(str==null || str.length<=0) return 0;
var len=str.length,index=0,flag=false;
var arr=str.split('')
if(arr[0]=='+'){
index++
}else if(arr[0]=='-'){
flag=true
index++
}
var num=strToIntCore(arr,index,len,flag)
return num;
}
function strToIntCore(arr,start,length,minus){
var number=0;
if(arr==null||start>=length) return number;
while(start<length){
if(arr[start]>='0'&& arr[start]<='9'){
var flag=minus?-1:1;
number=number*10+(arr[start]-'0')*flag
start++
}else{
number=0;
break;
}
}
return number;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: