leetcode restore ip address Java实现

来源:互联网 发布:英雄联盟盒子mac版 编辑:程序博客网 时间:2024/05/29 10:09

原题目链接:

https://leetcode.com/problems/restore-ip-addresses/description/


java代码:

class Solution {    public List<String> restoreIpAddresses(String s) {        ArrayList<String> ips=new ArrayList<String>();        String current_ip="";        getAllIP(s,0,0,current_ip,ips);        return ips;    }        public void getAllIP(String s,int index,int step,String current_ip,ArrayList<String> ips)    {        if(s.length()-index>(4-step)*3)        {            return;        }        else if(s.length()-index<4-step)        {            return;        }        else if(step==4&&index==s.length())        {            ips.add(current_ip.substring(0,current_ip.length()-1));        }        else        {            int num=0;            for(int i=index;i<Math.min(index+3,s.length());i++)            {                num=num*10+s.charAt(i)-'0';                if(num<=255)                {                    current_ip+=s.charAt(i);                    getAllIP(s,i+1,step+1,current_ip+".",ips);                }                if(num==0) break;            }        }    }}