leetcode-复原IP地址-js实现

  • Post author:
  • Post category:其他


给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。

示例:

输入: “25525511135”

输出: [“255.255.11.135”, “255.255.111.35”]


/**
 * @param {string} s
 * @return {string[]}
 */

var restoreIpAddresses = function(s) {
    
    let func = funcBody()
    func.figureItOut(s, [])
    return func.re

};



function funcBody() {
    
    let re= []
    
    function figureItOut(str, arr) {
            if (!str.length && arr.length == 4) {
                re.push(arr.join('.'))
                return
            }
            if (arr.length == 4 ) {
                return
            }
            let tp = '', tps = str.split('')
            for(let i = 0; i< 3; i++) {
                tp = tps.pop()+tp

                if (legal(tp)) {
                    let tpa = arr.slice()
                    tpa.unshift(tp)
                    figureItOut(tps.join(''), tpa)
                }

            }
    }
    
    return {
        figureItOut,
        re
    }
}

function legal(num) {
    if (Number(num) < 256 && Number(num).toString() == num) {
        return true
    }
    return false
}



版权声明:本文为keyj1996原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。