有效 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 中的任何数字。你可以按 任何 顺序返回答案。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/restore-ip-addresses

例:

输入:s = "25525511135"
输出:["255.255.11.135","255.255.111.35"]

解析:

从整个字符串中分出一个整数,整数从一位到三位都判断一边,整数符合要求则将剩下的字符串继续同样的操作,当分出四个满足条件的整数后,再做整体判断,如果剩余字符串为0,也就是全部都分好了,那么就将结果存入即可。

class Solution(object):def restoreIpAddresses(self, s):""":type s: str:rtype: List[str]"""res = []  # 结果存储def backtrack(s, tmp):if len(s) == 0 and len(tmp) == 4:  # 终止条件res.append('.'.join(tmp))  # 将IP地址用'.'装载好return if len(tmp) < 4:  # 没装满四个整数for i in range(min(3, len(s))):  # 每个数最大为三位数p, n = s[:i+1], s[i+1:]  # 分出一个整数和剩下的字符串if p and 0 <= int(p) <= 255 and str(int(p)) == p:  # 判断分出的整数backtrack(n, tmp + [p])  # 判断剩下的字符串backtrack(s, [])  # 函数运行return res       

复原 IP 地址Python解法相关推荐

  1. leetcode 93.复原IP地址 dfs解法

    给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 示例: 输入: "25525511135" 输出: ["255.255.11.135", ...

  2. [LeetCode] Restore IP Addresses 复原IP地址

    Given a string containing only digits, restore it by returning all possible valid IP address combina ...

  3. LeetCode 第 93 题:复原IP地址(C++)

    93. 复原IP地址 - 力扣(LeetCode) 最开始的思路是对字符串进行三次切割,每次从左边切一块下来(最多切3位数). 那么我们现在有三个切割点(下标) i, j, k,它们应该满足: n=s ...

  4. [LeetCode] Restore IP Addresses 复原IP地址

    Given a string containing only digits, restore it by returning all possible valid IP address combina ...

  5. java实现复原IP地址,回溯算法:复原IP地址

    93.复原IP地址 题目地址:https://leetcode-cn.com/problems/restore-ip-addresses/ 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地 ...

  6. 回溯算法——复原IP地址(Leetcode 93)

    题目选自Leetcode 93.复原IP地址 由于我们需要找出所有可能复原出的 IP 地址,因此可以考虑使用回溯的方法,对所有可能的字符串分隔方式进行搜索,并筛选出满足要求的作为答案. 通俗来讲,就是 ...

  7. LeetCode93. 复原IP地址

    93. 复原IP地址 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 输入"010010" 输出["0.10.0.10","0. ...

  8. 93. 复原 IP 地址

    93. 复原 IP 地址 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔. 例如:"0.1.2.201" ...

  9. 007.复原 IP 地址

    1.题目链接: 93. 复原 IP 地址 2.解题思路: 2.1.题目要求: 给定一串只包含数字的字符串s,返回所有让 s 构成 有效IP地址 的数字组合. 有IP地址: 4个 [0,255] 范围内 ...

最新文章

  1. python如何读写文件-Python之写入文件(1)
  2. VTK:多个视口用法实战
  3. hdu 1392 Surround the Trees
  4. java参数后面跟三个点是什么意思
  5. webAPI token验证
  6. 贴纸效果_(新)AE插件:时尚印刷贴纸效果动画帽子眼镜胡须嘴唇图标社交标题库(3001)...
  7. git 基础 tag 打标签
  8. netcore5开发Android,那些鼓吹国内首个.NET 5框架的,该醒醒了!
  9. 在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解失效的原因和解决方法
  10. mongodb维护常用命令
  11. wide and deep及其发展
  12. 敏感词过滤的php代码,ThinkPHP敏感词汇过滤
  13. Linux 如何从网上下载文件
  14. Simulink 快速入门(二)--创建简单模型
  15. 可以说是迄今为止最好用的右键菜单管理工具
  16. sparkui 界面地址_Spark UI界面原理
  17. 百度笔试题——页面调度算法
  18. UE4 Async Loading Screen真异步加载插件使用傻瓜式教程
  19. 使用命令行操作Windows防火墙
  20. 三相异步电机基于模型的效率估计算法

热门文章

  1. SAP UI5 初学者教程之二十五 - 使用代理服务器解决 SAP UI5 应用访问远端 OData 服务的跨域问题试读版
  2. SAP 电商云 Spartacus UI 的响应式 UI 实现细节
  3. 2021-10-28 SAP Spartacus SSR 性能方面的一些学习笔记
  4. SAP UI5 System Test 的工具之一:uiveri5
  5. SAP Commerce Cloud 新一代 UI Spartacus 和 Customer Data cloud 的集成
  6. 关于div的outline-offset属性和focus事件的接收
  7. Angular应用里的Template Reference变量
  8. 微软Azure storage account的connection string
  9. SAP Hybris的类型系统更改和ABAP的LOAD_PROGRAM_TABLE_MISMATCH
  10. 利用ES6的Generator语法实现自定义iterator