93. 复原 IP 地址(中等)

https://leetcode.cn/problems/restore-ip-addresses/
有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。

例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.255.245”、“192.168.1.312” 和 “192.168@1.1” 是 无效 IP 地址。
给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插入 ‘.’ 来形成。你 不能 重新排序或删除 s 中的任何数字。你可以按 任何 顺序返回答案。

示例 1:
输入:s = “25525511135”
输出:[“255.255.11.135”,“255.255.111.35”]

class Solution:
    def restoreIpAddresses(self, s: str) -> List[str]:
        # 难度:☆☆☆
        # 标签:回溯
        # 分割问题,参考131题
        from copy import deepcopy
        path, result, n = [], [], len(s)
        
        def backtrack(start):
            if start == n and len(path) == 4:  # base case
                result.append('.'.join(deepcopy(path)))
                return
            for i in range(start, n):
                tmp = s[start:i + 1]
                if (len(tmp) > 1 and tmp.startswith('0')) or (int(tmp) < 0) or (int(tmp) > 255):
                    continue
                path.append(tmp)  # 做选择
                backtrack(i + 1)  # 下一层
                path.pop()        # 撤销
        
        backtrack(0)
        return result

相关推荐

  1. 93. 复原 IP 地址(中等)

    2024-01-06 20:16:01       55 阅读
  2. 93. 复原 IP 地址

    2024-01-06 20:16:01       57 阅读
  3. 93. 复原 IP 地址

    2024-01-06 20:16:01       37 阅读
  4. leetcode:93. 复原 IP 地址

    2024-01-06 20:16:01       49 阅读
  5. leetcode 93. 复原 IP 地址

    2024-01-06 20:16:01       70 阅读
  6. LeetCode 93. 复原 IP 地址

    2024-01-06 20:16:01       56 阅读
  7. LeetCode 93. 复原 IP 地址

    2024-01-06 20:16:01       41 阅读
  8. leetcode93.复原IP地址

    2024-01-06 20:16:01       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-06 20:16:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-06 20:16:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-06 20:16:01       87 阅读
  4. Python语言-面向对象

    2024-01-06 20:16:01       96 阅读

热门阅读

  1. 问题 H: 取余运算

    2024-01-06 20:16:01       53 阅读
  2. C++学习笔记(二十五):c++ 智能指针

    2024-01-06 20:16:01       54 阅读
  3. kafka重平衡经验总结

    2024-01-06 20:16:01       60 阅读
  4. Nestjs 微服务实战 - 动态微服务创建链接

    2024-01-06 20:16:01       56 阅读
  5. 通过data恢复postgresql

    2024-01-06 20:16:01       61 阅读
  6. 【sed学习】sed -i和sed -i -e有什么区别

    2024-01-06 20:16:01       50 阅读
  7. docker安装dcm4chee

    2024-01-06 20:16:01       55 阅读
  8. C语言-蓝桥杯2023年第十四届省赛真题-砍树

    2024-01-06 20:16:01       57 阅读