LeetCode 93.复原IP地址
本文最后更新于613 天前,其中的信息可能已经过时,如有错误请发送邮件到tomding1065@gmail.com

题目链接/文章讲解:https://programmercarl.com/0093.%E5%A4%8D%E5%8E%9FIP%E5%9C%B0%E5%9D%80.html

视频讲解:https://www.bilibili.com/video/BV1XP4y1U73i/

1.这个题和昨天的分割回文串的题差不多,但是这个题的迭代回溯逻辑略有不同,最近使用startIndex使用的次数很多,对这个参数的理解有了更多的理解,本题在原有的字符串上操作没有使用path数组进行计算,在合适的切割的字符串的后面插入'.'回溯后再删除,同时本题在剪枝上也是有新意,使用pointSum来限制树的深度。

CPP

class Solution {
public:
    vector<string> res;

    bool isvaild(const string& s, int start, int end){
        if(start > end){
            return false;
        }
        if(s[start] == '0' && start != end){
            return false;
        }
        int num = 0;
        for(int i = start; i <= end; i++){
            if(s[i] > '9' || s[i] < '0'){
                return false;
            }
            num = num * 10 + (s[i] - '0');
            if(num > 255){
                return false;
            }
        }
        return true;
    }

    void backtracking(string& s, int startIndex, int pointSum){
        if(pointSum == 3){
            if(isvaild(s, startIndex, s.size() -1)){
                res.push_back(s);
                return ;
            }
        }
        for(int i = startIndex; i < s.size(); i++){
            if(isvaild(s, startIndex, i)){
                s.insert(s.begin() + i + 1, '.');
                pointSum++;
                backtracking(s, i + 2, pointSum);
                pointSum--;
                s.erase(s.begin() + i + 1);
            }else break;
            
        }
    }
    vector<string> restoreIpAddresses(string s) {
        if(s.size() < 4 || s.size() > 12){
            return res;
        }
        backtracking(s, 0, 0);
        return res;
    }
};
文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
Cream_dpl