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

来源:互联网 发布:信捷触摸屏编程软件 编辑:程序博客网 时间:2024/04/29 11:24

题目描述

将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为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;}
原创粉丝点击