leetcode93. 复原IP地址

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_36811967/article/details/88237337

给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。

示例:
输入: “25525511135”
输出: [“255.255.11.135”, “255.255.111.35”]

回溯:

class Solution:
    def restoreIpAddresses(self, s):
        """
        :type s: str
        :rtype: List[str]
        """
        self.res = []
        if len(s) > 12:
            return self.res
        self.helper(s, [])
        return self.res

    def helper(self, s, tmp):
        if not s and len(tmp) == 4:
            self.res.append('.'.join(tmp.copy()))
            return
        for i in range(1, 4):  # 取一位到三位
            if i > len(s):
                break
            num = int(s[:i])
            if str(num) == s[:i] and num <= 255:  # 不以0开头
                self.helper(s[i:], tmp+[s[:i]])

猜你喜欢

转载自blog.csdn.net/sinat_36811967/article/details/88237337