LeetCode OJ:Restore IP Addresses

2014-11-24 08:21:26 · 作者: · 浏览: 0

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)

算法思想:

递归+必要剪枝

class Solution{
public:
	bool isValid(string s){
		if(s.size()>3||!s.size()||s.size()>1&&s[0]=='0')return false;
		int sum=0;
		for(int i=0;i
  
   =0&&sum<=255;
	}
	void dfs(string &s,int start,int count,string path,vector
   
     &result){ if(count>3)return; if(count==3&&isValid(s.substr(start))){ path.append(s.substr(start)); result.push_back(path); return; } for(int i=start;i
    
      restoreIpAddresses(string s){ vector
     
       result; dfs(s,0,0,"",result); return result; } };