List<String> res;
public List<String> restoreIpAddresses(String s) {
res=new ArrayList<String>();
if(s==null ||s.length()==0)
return res;
dfsIP(s,"",0);
return res;
}
public void dfsIP(String s,String curr,int count)
{
if(count==4&&s.equals("")) //count用来计数,ip格式就4段
{
res.add(curr.substring(0,curr.length()-1)); //得把最后一个点去掉
return;
}
if(count>=4&&!s.equals(""))
return;
for(int i=0;i<3&&i<s.length();i++)
{
if(s.substring(0,i+1).startsWith("0")&&s.substring(0,i+1).length()>=2)
continue;
int temp=Integer.valueOf( s.substring(0,i+1));
//System.out.println(temp);
if(temp>=0 &&temp<=255)
dfsIP(s.substring(i+1),curr+temp+".",count+1);
}
}