LeetCode 93. Restore IP Addresses

2020-02-11 12:18:27 浏览数 (1)

题目

代码语言:javascript复制
class Solution {
public:
    vector<string> ans;
    vector<string> restoreIpAddresses(string s) {
        
        fun(s,0,"",0);
        
        return ans;
        
    }
    
    void fun(string s,int pos,string res,int num)
    { 
        if(num==4)
        {
            if(pos==s.length())
            {
                
                ans.push_back(res.substr(0,res.length()-1));
            }
            return;
        }
            
        string ss="";
        for(int i=pos;i<s.length()&&i<pos 3;i  )
        {
            
            ss  = s[i];

            if(judge(ss))
            {
            
                string str = ss  ".";     
                fun(s,i 1,res str,num 1);
            }
        }
    }
    
    bool judge(string s)
    {
        int x = atoi(s.c_str());
            
        if(!(x>=0&&x<=255))
        {
            return false;
        }
        
        if(s[0]=='0'&&s.length()>=2)
        {
            return false;
        }
        
        return true;
    }
    
};

0 人点赞