码迷,mamicode.com
首页 > 其他好文 > 详细

Submission Details

时间:2015-06-26 19:33:54      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

这道题整了我很久,首先是一个老毛病犯了,又忘了区分字符‘0‘和数字0了,导致判断的时候出错,还有,最后结果的push

res.push_back( temp.substr(0,temp.size()-1));这样是对的,刚才出错是因为,temp=temp.substr(0,temp.size()-1);res.push_back(temp),这样子回溯的时候,会多删除一个。思路没错,就是因为这两个细节的错误导致这个程序调了很久。

class Solution {
private:
    vector<string> res;
    string temp;
    int lenth;
public:
    bool isValid(string subs)
    {
       
        if(subs[0]==0&&subs.size()!=1)
            return false;
        int num;
        stringstream ss(subs);
        ss >> num;
        ss.clear();
        if(num>255)
            return false;
        else
            return true;
    }
    void TestRest(string rests,int count)
    {
        if(count==4)
        {
            if(rests.size()==0)
            {
                res.push_back( temp.substr(0,temp.size()-1));
                return ;
            }
            else
                return;
        }
        else 
        {
            if(rests.size()==0)
                return ;
        }
        string flag;
        for(int i=0;i<3;i++)
        {
            if(i>=rests.size())
                break;
            flag.push_back(rests[i]);
            if(isValid(flag))
            {
                temp+=flag+".";
                TestRest(rests.substr(i+1),count+1);
                temp=temp.substr(0,temp.size()-flag.size()-1);
            }
            else 
                break;
        }
        return ;
        
    }
    vector<string> restoreIpAddresses(string s) {
        string flag;
        lenth=s.size();
        if(lenth>12||lenth<4)
            return res;
        for(int i=0;i<3;i++)
        {
            flag.push_back(s[i]);
            if(isValid(flag))
            {
                temp+=flag+".";
                TestRest(s.substr(i+1),1);
                temp=temp.substr(0,temp.size()-flag.size()-1);
            }
            else 
                break;
        }
        return res;
    }
};

 

Submission Details

标签:

原文地址:http://www.cnblogs.com/qiaozhoulin/p/4602915.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!