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--;
        }
    }
};
相关推荐
自信的小螺丝钉5 小时前
Leetcode 146. LRU 缓存 哈希表 + 双向链表
leetcode·缓存·散列表
2351613 小时前
【LeetCode】3. 无重复字符的最长子串
java·后端·算法·leetcode·职场和发展
微笑尅乐14 小时前
神奇的位运算——力扣136.只出现一次的数字
java·算法·leetcode·职场和发展
自信的小螺丝钉14 小时前
Leetcode 155. 最小栈 辅助栈
leetcode·
吃着火锅x唱着歌14 小时前
LeetCode 3105.最长的严格递增或递减子数组
算法·leetcode·职场和发展
吃着火锅x唱着歌15 小时前
LeetCode 2765.最长交替子数组
算法·leetcode·职场和发展
墨染点香15 小时前
LeetCode 刷题【91. 解码方法】
算法·leetcode·职场和发展
自信的小螺丝钉16 小时前
Leetcode 4. 两两交换链表中的节点 递归 / 迭代
leetcode·链表
hn小菜鸡19 小时前
LeetCode 2460.对数组执行操作
算法·leetcode·职场和发展
自信的小螺丝钉19 小时前
Leetcode 148. 排序链表 归并排序
算法·leetcode·链表·归并