首页 > 其他 > 详细

leetcode8 字符串转换为整数

时间:2021-08-29 20:32:10      阅读:25      评论:0      收藏:0      [点我收藏+]

最笨的办法实现 一步步判断

/**
 * @param {string} s
 * @return {number}
 */
var myAtoi = function(s) {
    s = s.trim()
    let re
    if(!isNaN(parseInt(s)) && s.length == 1){
        return parseInt(s)
    }
    if(isNaN(parseInt(s)) && s.length == 1){
        return 0
    }
    if(s == "" ){
        return 0
    }
    if(s.charAt(0) == "-"){
        s = s.substring(1)
        if(isNaN(s.charAt(0))){ //不是数字
            return 0
        }else{
           re =  -getNumber(s,false)
        }
    }else if(s.charAt(0) == "+"){
        s = s.substring(1)
        if(isNaN(s.charAt(0)) || s.charAt(0) == " "){ //不是数字
            return 0
        }else{
           re =  getNumber(s,true)
        }
    }else {
        if(isNaN(s.charAt(0))){ //不是数字
            return 0
        }else{
           re =  getNumber(s,true)
        }
    }

    return re
};
function getNumber(str,bo){
    str = str.split("")
    let res = ""
    let l = str.length
    let i = 0
    while(i<l){
        if(!isNaN(parseInt(str[i]))){ // 是数字
            res += str[i]
        }else{
            break
        }
        i++
    }
    let es = parseInt(res)
    if(bo == false){ //负数
        if(es > Math.pow(2,31)){
            es = Math.pow(2,31)
        }
    }
    if(bo == true){ //正数
        if(es >= Math.pow(2,31)){
            es = Math.pow(2,31)-1
        }
    }
    return es
}
 

leetcode8 字符串转换为整数

原文:https://www.cnblogs.com/taue997/p/15202149.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!