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--;
        }
    }
};
相关推荐
人道领域16 分钟前
【LeetCode刷题日记】108.将有序数组转换为二叉搜索树
java·算法·leetcode
过期动态30 分钟前
【LeetCode 热题 100】无重复字符的最长子串
java·数据结构·spring boot·算法·leetcode·职场和发展
莫等闲-1 小时前
leetcode42. 接雨水 leetcode84.柱状图中最大的矩形
数据结构·c++·算法·leetcode
浅念-1 小时前
LeetCode 记忆化搜索 刷题总结
数据结构·算法·leetcode·职场和发展·深度优先·dfs
菜菜的顾清寒2 小时前
力扣HOT100(44)对称二叉树
数据结构·算法·leetcode
学计算机的计算基2 小时前
LeetCode刷题笔记:数组专题四连击(LC53/56/189/41)
笔记·leetcode·排序算法
x_xbx3 小时前
LeetCode:543. 二叉树的直径
算法·leetcode·职场和发展
罗超驿3 小时前
11.LeetCode 1004. 最大连续1的个数 III | 滑动窗口解法详解(Java)
java·算法·leetcode
小羊在睡觉12 小时前
力扣84. 柱状图中最大的矩形
后端·算法·leetcode·golang·go
sheeta199813 小时前
LeetCode 每日一题笔记 日期:2026.05.29 题目:3300. 最小元素
笔记·leetcode