restore ip addresses
2016-12-09 11:25
232 查看
题意:给定一串数字,返回这串数字能够组成的所有合法ip。
思路:对ip的每一段进行isValid判断,再对每一段的ip,若满足长度为3且通过isValid判断,则返回;否则,对每一段的ip,若当前分割满足isValid,则递归调用dfs,进行下一轮的调用。
代码:
思路:对ip的每一段进行isValid判断,再对每一段的ip,若满足长度为3且通过isValid判断,则返回;否则,对每一段的ip,若当前分割满足isValid,则递归调用dfs,进行下一轮的调用。
代码:
package com.RestoreIpAddresses; import java.util.ArrayList; public class RestoreIpAddresses { public boolean isValid(String string ) { if(string.charAt(0)=='0') return string.equals('0'); int num = Integer.parseInt(string); if(num > 0 && num <= 255) return true; else return false; } public void dfs(String s , int start , String item , ArrayList<String>res) { if(start == 3 && isValid(s)){ res.add(item+s); return; } for (int i = 0; i< 3 && i < s.length()-1; i++) { String substr = s.substring(0, i+1); if(isValid(substr)){ dfs(s.substring(i+1, s.length()), start+1, item+substr+".", res); } } } public ArrayList<String> restoreIpAddresses(String s) { ArrayList<String> res = new ArrayList<>(); String item = new String(); if(s.length() < 4|| s.length() > 12){ return res; } dfs(s, 0, item, res); return res; } public static void main(String[] args) { String string = "25525511135"; RestoreIpAddresses ria = new RestoreIpAddresses(); ArrayList<String>res = new ArrayList<>(); res = ria.restoreIpAddresses(string); System.out.println(res); } }
相关文章推荐
- Restore IP Addresses - Leetcode
- 【LeetCode】Restore IP Addresses
- leetcode--Restore IP Addresses
- Leetcode_restore-ip-addresses
- [LeetCode]Restore IP Addresses
- Restore IP Addresses
- LeetCode Restore IP Addresses
- [leetcode] Restore IP Addresses
- Leetcode Restore IP Addresses
- 【leetcode】Restore IP Addresses
- LeetCode93:Restore IP Addresses
- leetcode93-Restore IP Addresses(存储合法ip地址)
- LeetCode解题报告—— Reverse Linked List II & Restore IP Addresses & Unique Binary Search Trees II
- LeetCode: My solution:Restore IP Addresses
- LeetCode:Restore IP Addresses
- leetcode:Restore IP Addresses
- [LeetCode] Restore IP Addresses 解题报告
- Restore IP Addresses
- Restore IP Addresses
- [leetcode]Restore IP Addresses