题解 | 数字字符串转化成IP地址

数字字符串转化成IP地址

https://www.nowcoder.com/practice/ce73540d47374dbe85b3125f57727e1e

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param s string字符串 
 * @return string字符串一维数组
 */
function restoreIpAddresses( s ) {
    //检验合法性
    const result = []
    function is_valid(str){
        if (str.length >1 && str[0] === '0') {
            return false
        }
        if (parseInt(str) > 255) {
            return false
        }
        return true
    }

    function backtrack( path , start ) { 
        if (path.length === 4 && start === s.length) { //此时合法 加入结果中
            result.push(path.join('.'))
        }
        if (path.length === 4) {
            return
        }

        for(let i =1;i<=3;i++) {
             if (start + i>s.length) {
                break
             }
             const strChild = s.substring(start,start+i)
             if (is_valid(strChild)) {
                backtrack([...path,strChild], start+i )
             }
        }
    }
    backtrack([],0)
    return result
}
module.exports = {
    restoreIpAddresses : restoreIpAddresses
};

全部评论

相关推荐

03-05 12:52
吉林大学 Java
挣K存W养DOG:他的价值在于把他家里积攒的财富回馈给社会
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务