93. 复原IP地址

给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。

示例:

输入: "25525511135"
输出: ["255.255.11.135", "255.255.111.35"]

思路:

回溯法,加一堆条件去判断符合ip地址格式的值,没想到用atoi时候还有个溢出的问题,所以要加上一个位数的判断,具体实现如下,写得有点烂T o T。

class Solution {
public:
    vector res;
    vector restoreIpAddresses(string s) {
        if(s.empty())
        {
            return res;
        }
        findip(s,1,0,"");
        return res;
    }
    void findip(string s,int count,int now,string currstr)
    {
        if(count==4)
        {
            if(s[now]=='0'&&now+13)
            {
                return;
            }
            int num=atoi(str.c_str());
            if(num<=255)
            {
                currstr+=str;
                res.push_back(currstr);
            }
            return;
        }
        if(s[now]>'2')
        {
            if(now+1

你可能感兴趣的:(93. 复原IP地址)