leetcode93.复原IP地址

在前文leetcode131分割回文串的基础上改进,因为前面遍历的是字符串及其子串问题,93题刚好基于这个问题之上进行改进,因此我也就是修修补补就完事儿了
toIP函数的作用是把“255”,“255” ,“255” ,“255”组成的vector<string>变换成"255.255.255.255"的string,然再结果集中push_back进去。
deleteZero函数作用是删除前导0,比如"255",“01”,“003”,“5”,变成"255",“1”,“3”,“5”

class Solution {
public:
    vector<string> ele;
    vector<string> ans;
    int len=0;
    vector<string> restoreIpAddresses(string s) {
        dfs(s,0);
        return ans;
    }
    void dfs(string& s,int idx){
        if(ele.size()==4&&len==s.size()){
            string* newS=toIP(&ele);
            ans.push_back(*newS);
            return;
        }
        for(int i=idx;i<s.size();++i){
            if(i-idx+1>=4){
                continue;
            }
            string ip=s.substr(idx,i-idx+1);
            int num=std::stoi(ip);
            if(num==0&&ip.size()==1){
                ele.push_back(ip);
                len+=ip.size();
            }
            else if(num>0&&num<=255){
                deleteZero(ip);
                ele.push_back(ip);
                len+=ip.size();
            }else {
                continue;
            }
            dfs(s,i+1);
            ele.pop_back();
            len-=ip.size();
        }
    }
    void deleteZero(string& s){
        auto iter=s.begin();
        while(*s.begin()=='0'){
            iter=s.erase(s.begin());
        }
    }
    string* toIP(vector<string>* pV){
        string* vs=new string();
        for(auto& item:*pV){
            vs->append(item);
            vs->append(".");
        }
        vs->pop_back();
        return vs;
    }
};

相关推荐

  1. leetcode93. 复原 IP 地址

    2024-04-01 14:40:04       19 阅读
  2. leetcode 93. 复原 IP 地址

    2024-04-01 14:40:04       33 阅读
  3. LeetCode 93. 复原 IP 地址

    2024-04-01 14:40:04       17 阅读
  4. LeetCode 93. 复原 IP 地址

    2024-04-01 14:40:04       10 阅读
  5. leetcode93.复原IP地址

    2024-04-01 14:40:04       5 阅读
  6. LeetCode 93.复原IP地址 Python题解

    2024-04-01 14:40:04       26 阅读
  7. 93. 复原 IP 地址

    2024-04-01 14:40:04       27 阅读
  8. 算法leetcode93. 复原 IP 地址(多语言实现)

    2024-04-01 14:40:04       33 阅读

最近更新

  1. 软件架构演化方式的分类以及架构演化时期

    2024-04-01 14:40:04       0 阅读
  2. 美学心得(第二百六十一集) 罗国正

    2024-04-01 14:40:04       0 阅读
  3. 深入探索Kubernetes(K8s):容器编排的王者

    2024-04-01 14:40:04       0 阅读
  4. docker Get /v2/: dial tcp: lookup

    2024-04-01 14:40:04       0 阅读

热门阅读

  1. npm 与 yarn 命令比较

    2024-04-01 14:40:04       6 阅读
  2. Spring与Spring Boot的区别

    2024-04-01 14:40:04       6 阅读
  3. 修改aws账户的密码和MFA

    2024-04-01 14:40:04       7 阅读
  4. 【力扣】374.猜数字大小

    2024-04-01 14:40:04       4 阅读
  5. RuoYi-Vue-Plus(登录流程)

    2024-04-01 14:40:04       7 阅读
  6. css去除滑动框

    2024-04-01 14:40:04       7 阅读
  7. pgsql已有表设置主键自增

    2024-04-01 14:40:04       7 阅读
  8. C语言点h文件设置

    2024-04-01 14:40:04       5 阅读