Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Leetcode 题目解析之 Restore IP Addresses

Leetcode 题目解析之 Restore IP Addresses

原创
作者头像
ruochen
发布于 2022-02-13 07:23:19
发布于 2022-02-13 07:23:19
1.7K00
代码可运行
举报
运行总次数:0
代码可运行

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 matter)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    List<String> rt = new ArrayList<String>();
    String[] stack = new String[4];
    public List<String> restoreIpAddresses(String s) {
        if (s == null || s.length() == 0) {
            return new ArrayList<String>();
        }
        dfs(s, 0, 0);
        return rt;
    }
    /**
     * 
     * @param s
     * @param p
     *            :指针
     * @param pstack
     *            :stack的下标
     */
    public void dfs(String s, int p, int pstack) {
        if (pstack == 4) {
            // 如果stack长度为4,且s的字符全部用上
            // 则stack[0...3]存了一个结果
            if (p >= s.length()) {
                String ip = String.join(".", stack);
                rt.add(ip);
            }
            return;
        }
        // 获取1~3个字符
        for (int i = 1; i <= 3; i++) {
            // 如果超过字符串长度,返回
            if (p + i > s.length()) {
                return;
            }
            // 若选取的第一个字符是0,则停止选取
            if (i > 1 && s.charAt(p) == '0') {
                continue;
            }
            String number = s.substring(p, p + i);
            // 如果number<=255,递归
            if (Integer.parseInt(number) <= 255) {
                stack[pstack] = number;
                dfs(s, p + i, pstack + 1);
            }
        }
    }

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
​LeetCode刷题实战93:复原IP地址
https://leetcode-cn.com/problems/restore-ip-addresses/
程序员小猿
2021/01/19
5750
LeetCode 93. Restore IP Addresses
题目 class Solution { public: vector<string> ans; vector<string> restoreIpAddresses(string s) { fun(s,0,"",0); return ans; } void fun(string s,int pos,string res,int num) { if(num==
ShenduCC
2020/02/11
3510
leetcode 93. 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 matter) 给你一个只包含数字的字符串,把其中的数字重组为可能的ip地址组合,不能改变原先
用户1665735
2018/06/20
6610
LintCode 恢复IP地址题目分析
[ "255.255.11.135", "255.255.111.35" ] (顺序无关紧要)
desperate633
2018/08/22
6010
Leetcode93. 复原IP地址
Given a string containing only digits, restore it by returning all possible valid IP address combinations.
一个会写诗的程序员
2020/04/30
5610
一天一大 lee(复原IP地址)难度:中等-Day20200809
有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 '.' 分隔。
前端小书童
2020/09/24
2740
一天一大 lee(复原IP地址)难度:中等-Day20200809
leetcode: 93. 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"]. (Order does not matter) AC class Solution():
JNingWei
2018/09/27
3320
93. 复原IP地址
给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 示例: 输入: "25525511135" 输出: ["255.255.11.135", "255.255.111.35"] 解: class Solution { public List<String> restoreIpAddresses(String s) { List<String> list = new ArrayList<>(); if (s.length() == 0) {
张伦聪zhangluncong
2022/10/26
1740
Backtracking - 93. Restore IP Addresses
Given a string containing only digits, restore it by returning all possible valid IP address combinations.
ppxai
2020/09/23
3200
Leetcode No.93 复原 IP 地址(DFS)
给定一个只包含数字的字符串,用以表示一个 IP 地址,返回所有可能从 s 获得的 有效 IP 地址 。你可以按任何顺序返回答案。
week
2021/11/29
6610
Leetcode No.93 复原 IP 地址(DFS)
Java实现解析IP地址的方法,给出一串数字,生成正确的IP地址
给定一个只包含数字的字符串,通过方法返回所有可能的有效的IP地址组合。 例如:给出“25525511135”,返回(“255.255.11.135”、“255.255.111.35”)。 网络配图 J
用户1289394
2018/02/27
2.1K0
Java实现解析IP地址的方法,给出一串数字,生成正确的IP地址
leetcode刷题(71)——93. 复原IP地址
有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 ‘.’ 分隔。
老马的编程之旅
2022/06/22
3070
递归回溯--复原IP地址
There is no coming to consciousness without pain.
早起的鸟儿有虫吃
2020/08/11
7590
LeetCode 0093 - Restore IP Addresses
Given a string containing only digits, restore it by returning all possible valid IP address combinations.
Reck Zhang
2021/08/11
2840
Leetcode 93 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 matter) 将给定字符串划分为IP地址。 后来看到有三重循环做的。。。。。DFS确实蠢了。
triplebee
2018/01/12
6170
[Leetcode][python]Restore IP Addresses/复原IP地址
来自: https://shenjie1993.gitbooks.io/leetcode-python/093%20Restore%20IP%20Addresses.html 找出一个由纯数字组成的序列能够构成的不同的IP地址。 注意点: 每个IP段的范围是0-255 要用整个序列,而不是它的子集 例子: 输入: s = “25525511135” 输出: [“255.255.11.135”, “255.255.111.35”]
蛮三刀酱
2019/03/26
8490
【LeetCode每日一题】(8.9)复原IP地址(回溯)
有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 ‘.’ 分隔。
看、未来
2020/08/25
4750
Leetcode 题目解析之 Combination Sum II
Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in C where the candidate numbers sums to T.
ruochen
2022/01/08
6.5K0
☆打卡算法☆LeetCode 93、复原 IP 地址 算法解析
“给定一个只包含整数的字符串,表示一个IP地址,返回所有可能有效的IP地址,在这些地址中插入点来形成。”
恬静的小魔龙
2022/08/07
7370
☆打卡算法☆LeetCode 93、复原 IP 地址  算法解析
回溯算法
如果按照这样做出来,那么对于平常的组合问题是没有问题得,但是这道题中得限制条件却不能满足
用户11097514
2024/05/30
1310
回溯算法
相关推荐
​LeetCode刷题实战93:复原IP地址
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验