来自Leetcode第93题复原IP地址
给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。
示例:
输入: “25525511135”
输出: [“255.255.11.135”, “255.255.111.35”]
暴力
4层循环遍历解决所有情况。
1 | public List<String> restoreIpAddresses(String s) { |
回溯
来自题解
- 遍历三个有效位置curr_pos 以放置点。
- 检查从上一个点到现在点中间的部分是否有效 :
- 是 :
- 放置该点。
- 检查全部 3个点是否放好:
- 是 :
- 将结果添加到输出列表中。
- 否 :
- 继续放下一个点 backtrack(curr_pos, dots - 1)。
- 是 :
- 回溯,移除最后一个点。
1 | int n; |
摸
1 | public List<String> restoreIpAddresses(String s) { |