Leetcode93.复原IP地址 - Restore IP Addresses - Python - 回溯法

解题思路:

1.此题与Leetcode131.分割回文串十分相似。

请参考:Leetcode131.分割回文串-Palindrome Patitioning-Python-回溯法-CSDN博客

2.在此基础上,需要添加逗点,以及当前进入递归函数的字符串是否合法。

代码:

复制代码
class Solution(object):
    result = []
    path = []
    def trackBacking(self, s, startIndex, pointNum):
        if startIndex == len(s) and pointNum == 4:
            self.result.append('.'.join(self.path))
            return
        for i in range(startIndex, len(s)):
            if self.isValid(s, startIndex, i):
                self.path.append(s[startIndex: i+1])
                pointNum += 1
                self.trackBacking(s, i+1, pointNum)
                self.path.pop()
                pointNum -= 1
    
    def isValid(self, s, start, end):
        if start>end:
            return False
        if s[start] == '0' and start != end:
            return False
        num = 0
        for i in range(start, end+1):
            if not s[i].isdigit():
                return False
            num = num * 10 + int(s[i])
        if num > 255:
            return False
        return True

    def restoreIpAddresses(self, s):
        self.result = []
        self.trackBacking(s, 0, 0)
        return self.result
相关推荐
FreakStudio15 分钟前
一文速通 Python 并行计算:教程总结
python·pycharm·嵌入式·面向对象·并行计算
群联云防护小杜19 分钟前
从一次 DDoS 的“死亡回放”看现代攻击链的进化
开发语言·python·linq
Ice__Cai24 分钟前
Flask 入门详解:从零开始构建 Web 应用
后端·python·flask·数据类型
霸敛24 分钟前
好家园房产中介网后台管理完整(python+flask+mysql)
开发语言·python·flask
HenryLin25 分钟前
SHAP值的核心概念
python
Darach28 分钟前
坐姿检测Python实现
人工智能·python
Ice__Cai28 分钟前
Flask 之 Request 对象详解:全面掌握请求数据处理
后端·python·flask·request·python web框架
hui函数29 分钟前
Flask高效数据库操作指南
数据库·python·flask
灵犀海棠29 分钟前
FLASK项目快速构建
后端·python·flask
灰阳阳37 分钟前
接口自动化测试大全(python+pytest+allure)
python·pytest·接口自动化·allure