复原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
};
相关推荐
程序员黑豆1 小时前
使用AI编程开发鸿蒙应用:从环境搭建到实战示例
前端·harmonyos
郑州光合科技余经理4 小时前
代驾系统架构拆解:订单链路、权限组织与私有化源码交付
开发语言·后端·算法·架构·系统架构·uni-app·php
程序员黑豆4 小时前
鸿蒙应用开发:一次开发多端部署之响应式布局完全指南
前端·harmonyos
小月土星5 小时前
2.0 React Router 前端路由深度解析:从传统后端路由到现代 SPA 的完整演进
前端
To_OC6 小时前
LC 35 搜索插入位置:二分查找谁都会,边界条件谁写谁懵
javascript·算法·leetcode
码哥DFS6 小时前
二叉树的直径
开发语言·javascript·算法
badhope3388 小时前
当所有AI都在抄同一份作业:前端模板的趋同、困局与破局
前端·ai·ai编程·前端开发·tailwind·ui设计
光影少年8 小时前
RN的Fabric 渲染流程
运维·前端·javascript·react native·react.js·fabric
__zRainy__9 小时前
React开始:直接在网站中使用React.js
前端·react.js·前端框架