93. Restore IP Addresses

2018/10/25 leetcode 共 782 字,约 3 分钟

title

problem link

Given a string containing only digits, restore it by returning all possible valid IP address combinations.

Example:

Input: "25525511135"
Output: ["255.255.11.135", "255.255.111.35"]

solution

回溯法,获取所有可用Ip

class Solution {
    private void backtracking(String s,int index,String t,int k, List<String> res){
        if(index==s.length()&&k==4){
            res.add(t.substring(0,t.length()-1));
            return;
        }
        if(k>4)
            return;
        int d=0;
        for(int i=index;i<s.length();i++){
            d=d*10+s.charAt(i)-'0';
            if(d>255)
                return;
            backtracking(s,i+1,t+d+'.',k+1,res);
            if(d==0)
                return;
        }
    }
    public List<String> restoreIpAddresses(String s) {
        List<String> res=new ArrayList<>();
        backtracking(s, 0, "",0, res);
        for(String s1: res){
            System.out.println(s1);
        }
        return res;
    }

    public static void main(String[] args) {
        new Solution().restoreIpAddresses("25525500");
    }
}

Search

    Table of Contents