1.题目描述
Given a string containing only digits, restore it by returning all possible valid IP address combinations.
给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。
Example:
Input: “25525511135”
Output: [“255.255.11.135”, “255.255.111.35”]
2.Solutions
这道题也是一个用DFS找所有的可能性的问题。这样一串数字:25525511135
,我们可以对他进行切分,但是根据IP的性质,有些切分就是明显不可能的:比如011.11.11.11
,这个的问题是以0
开头了,不合法,直接跳过。比如257.11.11.11
, 257大于IP里的最大数 255了,不合法,直接跳过。然后我们把这一层切分后剩下的字符串传到下一层,继续去找。直到最后我们得到4个section为止,把这个结果存到我们的result list。
1 | public static List<String> restoreIpAddresses(String s) { |
第二种回溯:
1 | public static ArrayList<String> restoreIpAddresses2(String s) { |