[leetcode]Restore IP Addresses @ Python
原题地址:https://oj.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 "25525511135"
,
return ["255.255.11.135", "255.255.111.35"]
. (Order does not matter)
解题思路:这个明显是用dfs来解决。来一段精致简练的代码吧。
代码:
class Solution: # @param s, a string # @return a list of strings def restoreIpAddresses(self, s): def dfs(s, sub, ips, ip): if sub == 4: # should be 4 parts if s == '': ips.append(ip[1:]) # remove first '.' return for i in range(1, 4): # the three ifs' order cannot be changed! if i <= len(s): # if i > len(s), s[:i] will make false!!!! if int(s[:i]) <= 255: dfs(s[i:], sub+1, ips, ip+'.'+s[:i]) if s[0] == '0': break # make sure that res just can be '0.0.0.0' and remove like '00' ips = [] dfs(s, 0, ips, '') return ips
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决