LeetCode 93 Restore IP Addresses

来源:互联网 发布:域名和网址是一回事吗 编辑:程序博客网 时间:2024/06/05 13:34

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)

Runtime: 2 ms beats 96.45% of javasubmissions.

public List<String> restoreIpAddresses(String s) {List<String> res = new ArrayList<>();dfs(s, 0, "", res);return res;}private void dfs(String s, int d, String path, List<String> res) {if (d == 4) res.add(path.substring(0, path.length() - 1));else {for (int i = 1; i <= 3; i++) {if (s.length() - i < 3 - d || s.length() - i > (3 - d) * 3) continue;if (i > 1 && s.charAt(0) == '0') break;if (i == 3 && s.substring(0, 3).compareTo("255") > 0) break;dfs(s.substring(i), d + 1, path + s.substring(0, i) + '.', res);}}}

0 0
原创粉丝点击