leetcode 93. Restore IP Addresses

题目描述

93. Restore IP Addresses

代码

回溯法

cpp 复制代码
class Solution {
    vector<string> res;
public:
    vector<string> restoreIpAddresses(string s) {
        string IP;
        int part = 0;
        backtracking(s,0,IP,part);
        return res;
    }
    void backtracking(const string &s,int start,string &IP,int &part){
        if(start == s.size())
        {
            if(part == 4)
                res.push_back(IP);
            return;
        }

        if(part==4)
            return;

        int iplen = IP.size();
        for(int i = start;i < s.size();i++){
            if(i >start && s[start]=='0')//前导0的数字不考虑
                break;
            int temp = atoi(s.substr(start,i-start+1).c_str());
            if(temp >255)//大于255的不考虑,后面的只会更大,所以break
                break;
            IP += (s.substr(start,i-start+1));
            if(part<3)
                IP.push_back('.');
            part++;
            backtracking(s,i+1,IP,part);
            IP.resize(iplen);
            part--;
        }
    }
};
相关推荐
苏荷水42 分钟前
day11 leetcode-hot100-18(矩阵1)
算法·leetcode·矩阵
南枝异客4 小时前
力扣-最长回文子串
算法·leetcode·职场和发展
linux-hzh7 小时前
day01
java·mysql·算法·leetcode
asom227 小时前
LeetCode Hot100(多维动态规划)
算法·leetcode·动态规划
1白天的黑夜19 小时前
动态规划-931.下降路径最小和-力扣(LeetCode)
c++·算法·leetcode·动态规划
编程绿豆侠10 小时前
力扣HOT100之动态规划:118. 杨辉三角
算法·leetcode·动态规划
qq_1955516916 小时前
代码随想录60期day50
算法·leetcode·职场和发展
苏荷水19 小时前
day12 leetcode-hot100-21(矩阵4)
算法·leetcode·矩阵
岁忧19 小时前
(nice!!!)(LeetCode 每日一题) 3372. 连接两棵树后最大目标节点数目 I (贪心+深度优先搜索dfs)
java·c++·算法·leetcode·go·深度优先