• Leetcode(93): 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)

     1 public class Solution {
     2     public List<String> restoreIpAddresses(String s) {
     3            List<String> res=new ArrayList<String>();
     4            if(s.length()<4||s.length()>12) return res;
     5            dfs(s,"",res,0);
     6            return res;
     7         }
     8        public static void dfs(String s,String temp,List<String> list,int count){
     9            if(count==3&&isValid(s)){
    10                list.add(temp+s);
    11                return;
    12            }
    13            for(int i=1;i<4&&i<s.length();i++){
    14                String substr=s.substring(0,i);
    15                if(isValid(substr)){
    16                    dfs(s.substring(i),temp+substr+".",list,count+1);
    17                }
    18            }
    19        }
    20        
    21        public static boolean isValid(String s){
    22            if(s.charAt(0)=='0') return s.equals("0");
    23            int num=Integer.parseInt(s);
    24            return num<=255&&num>0;
    25        }
    26     public static void main(String[] args) {
    27         // TODO Auto-generated method stub
    28         Scanner sc=new Scanner(System.in);
    29         solution sl=new solution();
    30         
    31         List<String> list=sl.restoreIpAddresses(sc.next());
    32         
    33         for(String i:list){
    34             System.out.println(i);
    35         }
    36     }
    37 
    38 }
  • 相关阅读:
    3.无重复字符的最长字串
    k-近邻算法(KNN)
    决策树
    解决anaconda与pycharm冲突导致import无法使用
    2.两数相加
    1.两数之和
    数学建模第七章 数理统计
    数学建模第六章 微分方程建模
    Web(4)servlet
    阿里云卸载自带的JDK,安装JDK完成相关配置
  • 原文地址:https://www.cnblogs.com/rever/p/6605690.html
Copyright © 2020-2023  润新知