Restore IP Addresses [leetcode]

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

这题乍一看有点像Decode Ways ,实际上是一个深搜+剪枝的题目

也可以通过三个for循环寻找可行的‘.’的位置

递归方法如下:

    vector<string> restoreIpAddresses(string s) {
        vector<string> res;
        restore(s, 0, 0, res, "");
        return res;
    }
    
    void restore(string & s, int start, int ipNum, vector<string> & res, string ip)
    {
        if (start == s.size() && ipNum == 4)
        {
            res.push_back(ip.substr(1));
            return;
        }
        if (start >= s.size() || ipNum >= 4) return;
        if (s[start] == '0')
            return restore(s, start + 1, ipNum + 1, res, ip + "." + s.substr(start, 1));
        if (s[start] == '1' || s[start] == '2')
        {
            if (!(s[start] == '2' && start + 1 < s.size() && (s[start + 1] > '5' || s[start + 1] == '5' && start + 2 < s.size() && s[start + 2] > '5')))
            restore(s, start + 3, ipNum + 1, res, ip + "." + s.substr(start, 3));
        }
        restore(s, start + 1, ipNum + 1, res, ip + "." + s.substr(start, 1));
        restore(s, start + 2, ipNum + 1, res, ip + "." + s.substr(start, 2));
    }


LeetCode力扣之Restore IP Addresses Given a string containing only digits, restore it by returning all possible valid IP address combinations.For example:Given "25525511135",return ["255.255.11.135", "255.255.111.35"]. (Order does not m... 阅读详情

相关推荐

leetcode 93. Restore IP Addresses

【代码】leetcode 93. Restore IP Addresses

weixin_41554427的博客 949

LeetCode Restore IP Addresses

Given a string containing only digits, restore it by returning all possible valid IP address combinations.For example:Given "25525511135",return ["255.255.11.135", "255.255.111.35"]. (Order does not m

Coding for Dreams 1986

leetcode---93. Restore IP Addresses C++题解

93. Restore IP Addresses dfs,回溯+剪枝。。。就我觉得中等题做到后面,完成一道题花的时间越来越长吗?下面说下思路 用left和right变量控制ip地址每段的范围,其中: left作为每段起始点,且在每次函数调用中向后递进,即dfs(ans, s, depth + 1, right + 1, temp + ts + ".");; righr作为每段终点,同时也是循...

bbkgl的博客 511

LeetcodeRestore IP Addresses

题目链接:https://leetcode.com/problems/restore-ip-addresses/ 题目: Given a string containing only digits, restore it by returning all possible valid IP address combinations. For example: Given "2552

业精于勤,荒于嬉 709

[LeetCode] Restore IP Addresses

[Problem] Given a string containing only digits, restore it by returning all possible valid IP address combinations. For example: Given "25525511135", return ["255.255.11.135", "255.255.111.35"]. (Ord

1.02^365的成长裂变 3635

[LeetCode 93] Restore IP Addresses

题目链接:restore-ip-addresses import java.util.ArrayList; import java.util.List; /** * Given a string containing only digits, restore it by returning all possible valid IP address combination

瓦尔登湖 1055

LeetCode 93. Restore IP Addresses(深搜剪枝)

题目来源:https://leetcode.com/problems/restore-ip-addresses/ 问题描述 93.Restore IP Addresses Medium Given a string containing only digits, restore it by returning all possible valid IP address combinati...

da_kao_la的博客 427

LeetCode93—Restore IP Addresses

Restore IP Addresses 路径搜索问题,IP地址每一小段的范围是0~255,对于输入的字串来说,考虑长度分别为1,2,3这三种情况.

上善若水 1225

LeetCode】93.Restore IP Addresses(medium)

LeetCode】93.Restore IP Addresses(medium)解题报告题目地址:https://leetcode.com/problems/restore-ip-addresses/description/ 题目描述:   Given a string containing only digits, restore it by returning all possible

郝春雨的博客 262

leetcode 93.Restore IP Addresses

leetcode 93.Restore IP Addresses 题目: Given a string containing only digits, restore it by returning all possible valid IP address combinations. Example: Input: "25525511135" Output: ["255.255.11.135",...

wyxwyx469410930的博客 195

Leetcode】93. Restore IP Addresses

的整数,其实也就是枚举从这个位置出发要分割原字符串多少个字符。只要满足条件,就进入下一层枚举,直到出发的位置已经到了字符串末尾(也就是到了递归树的叶子节点),就开始判断,如果已经切割出了四个数字,就说明当前的切割合法,加入res;将一个只含数字的字符串转化为合法的IP地址。合法的IP地址的格式是,由小数点"."分隔开的四个大于等于。每次从某个位置出发,开始枚举当前新加入的那个大于等于。层,每层三个叉,所以整棵树的节点个数有个常数的上界),空间。(实际上时间复杂度是常数量级的,因为递归树最多。

数学、算法爱好者的博客 212

LeetCode93:Restore IP Addresses

Given a string containing only digits, restore it by returning all possible valid IP address combinations. For example: Given “25525511135”, return [“255.255.11.135”, “255.255.111.35”]. (O

2683

Leetcode: Restore IP Addresses

Given a string containing only digits, restore it by returning all possible valid IP address combinations. For example: Given "25525511135", return ["255.255.11.135", "255.255.111.35"]. (Order

ZkvIA的博客 4433

[JAVA]LeetCode93 Restore IP Addresses

[JAVA]LeetCode93 Restore IP Addresses

fumier的专栏 655

leetcode笔记:Restore IP Addresses

题目的大意是,输入一个仅含整数的字符串,找出所有合法的ip地址,并输出所有的可能性。很显然这道题需要遍历到最后一个字符才能判断一个解是否合法,因此需使用dfs。本题的难点在于存在各种各样的限制条件,如每段中不能出现以0开头的数字。需反复尝试方可AC

liyuefeilong的专栏 1507

Leetcode Restore IP Addresses

Given a string containing only digits, restore it by returning all possible valid IP address combinations. For example: Given "25525511135", return ["255.255.11.135", "255.255.111.35"]. (Order does

算法的天空 5554

LeetCode——Restore IP Addresses

Given a string containing only digits, restore it by returning all possible valid IP address combinations. For example:Given"25525511135", return["255.255.11.135", "255.255.111.35"]. (Order d...

176

LeetCode - Restore IP Addresses

https://leetcode.com/problems/restore-ip-addresses/ Given a string containing only digits, restore it by returning all possible valid IP address combinations. For example: Given "2552551113

chilakaka的专栏 260
上一篇: Decode Ways [leetcode] DP
下一篇: Largest Rectangle in Histogram [leetcode]
圆形毕露
博客等级 码龄17年 20粉丝 103原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值