复原IP地址

题目链接

93. 复原 IP 地址 - 力扣(LeetCode)

思路:

1.首先读懂题目,ip 地址需要满足的条件是 没有前导0,并不超过 255

  1. 接下来我们就只需要把 这三个点,模拟的放入到 这个字符串中,会生成四个数字,这四个数字都需要满足上面这个条件,在这三个点分布的时候,我们还需要考虑到,这个点和点之间的距离,不能超过3

代码:

javascript 复制代码
/**
 * @param {string} s
 * @return {string[]}
 */
var restoreIpAddresses = function (s) {
    let res = []

    function isIp(num) {
        if (parseInt(num) > 255) {
            return false
        }
        if (num.length > 1 && num[0] === '0') return false
        return true
    }

    if (s.length < 4 || s.length > 16) return []
    // 分布三个点,最后排查哪个ip地址不可用
    for (let i = 1; i < s.length && i <= 3; i++) {
        for (let j = i + 1; j < s.length && j <= i + 3; j++) {
            for (let k = j + 1; k < s.length && k <= j + 3; k++) {
                let [a, b, c, d] = [s.substring(0, i), s.substring(i, j), s.substring(j, k), s.substring(k)]
                if (isIp(a) && isIp(b) && isIp(c) && isIp(d)) {
                    res.push(a + '.' + b + '.' + c + '.' + d)
                }
            }
        }
    }

    return res
};
相关推荐
coding者在努力9 小时前
算法竞赛中根据数据规模猜测算法
c++·算法·stl·时间复杂度
jing-ya9 小时前
day 59 图论part10
java·开发语言·数据结构·算法·图论
软弹9 小时前
深入理解 React Ref 机制:useRef 与 forwardRef 的协作原理
前端·javascript·react.js
YaHuiLiang9 小时前
Ai Coding浪潮下的前端:“AI在左,裁员在右”
前端
雪碧聊技术9 小时前
前端vue代码架子搭建
前端·javascript·vue.js·前端项目代码框架搭建
爱学习的程序媛9 小时前
【Web前端】前端用户体验优化全攻略
前端·ui·交互·web·ux·用户体验
普贤莲花9 小时前
【2026年第11周---写于20260322】
程序人生·算法·leetcode
han_9 小时前
JavaScript设计模式(二):策略模式实现与应用
前端·javascript·设计模式
小白自救计划9 小时前
力扣知识点杂集
算法·leetcode·哈希算法
阿贵---9 小时前
分布式系统C++实现
开发语言·c++·算法