zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    pip备忘录
    Vue.js---------------1引入
    centos安装数据库
    Python之网络编程二
    Python之协议
    Python高级
    jvm-3学习教程
    jvm学习-2
    jvm相关学习
    八种常用的排序算法
  • 原文地址:https://www.cnblogs.com/rever/p/6605690.html
Copyright © 2011-2022 走看看