leetcode Restore IP Addresses
2014-11-14 21:09
309 查看
Restore IP Addresses 原题地址:
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
return
每个位置上的数字介于0-255之间,另外注意这个位置上不能出现"01"之类的字符串。
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)
每个位置上的数字介于0-255之间,另外注意这个位置上不能出现"01"之类的字符串。
public class Solution { private List<String> IP = new ArrayList<String>(); public List<String> restoreIpAddresses(String s) { int max = Math.min(3, s.length() - 3); int min = Math.max(1, s.length() - 9); if (min > 3 || max < 1) return IP; for (int i = min; i <= max; i++) { StringBuffer Temp = new StringBuffer(); String temp = s.substring(0, i); if (temp.charAt(0) == '0' && i > 1) break; int ip = Integer.parseInt(temp); if (ip < 256) { Temp.append(s.substring(0, i)); findIP(Temp, 3, s.substring(i)); } } return IP; } private void findIP(StringBuffer Temp, int p, String s) { int max = Math.min(3, s.length() - (p-1)); int min = Math.max(1, s.length() - 3 * (p - 1)); if (min > 3 || max < 1) return; if (p == 1) { if (s.charAt(0) == '0' && s.length() > 1) return; int ip = Integer.parseInt(s); if (ip < 256) { Temp.append("."+s); IP.add(Temp.toString()); } return; } int start = Temp.length(); for (int i = min; i <= max; i++) { String temp = s.substring(0, i); if (temp.charAt(0) == '0' && temp.length() > 1) return; int ip = Integer.parseInt(temp); if (ip < 256) { Temp.append("." + s.substring(0, i)); findIP(Temp, p-1, s.substring(i)); Temp.delete(start, Temp.length()); } } } }
相关文章推荐
- Restore IP Addresses [Leetcode 解题报告]
- Leetcode : Restore IP Addresses
- [leetcode] Restore IP Addresses
- LeetCode题解:Restore IP Addresses
- LeetCode 59 Restore IP Addresses
- leetcode 93 .Restore IP Addresses
- leetcode:Restore IP Addresses (修复ip地址) 【面试算法题】
- LeetCode——Restore IP Addresses
- LeetCode-Restore IP Addresses-恢复IP地址-DP优化
- LeetCode Restore IP Addresses 恢复IP地址
- LeetCode解题报告—— Reverse Linked List II & Restore IP Addresses & Unique Binary Search Trees II
- Restore IP Addresses(leetcode)
- [leetcode]Restore IP Addresses
- LeetCode 93 Restore IP Addresses
- leetcode 93: Restore IP Addresses
- LeetCode(93) Restore IP Addresses
- LeetCode 93 Restore IP Addresses
- [LeetCode] Restore IP Addresses 回溯
- leetcode---Restore IP Addresses---回溯
- LeetCode: Restore IP Addresses