Leetcode练习(python):字符串类:第93题:复原IP地址:给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 '.' 分隔。


题目:
复原IP地址:给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。  有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 '.' 分隔。 
思路:
思路较简单。
程序:
class Solution:
    def restoreIpAddresses(self, s: str) -> List[str]:
        if not s:
            return []
        length = len(s)
        if length < 4:
            return []
        result = []
        for index1 in range(1, 4):
            section1 = s[0: index1]
            if self.judgeIfValid(section1):
                for index2 in range(index1 + 1, index1 + 4):
                    section2 = s[index1: index2]
                    if self.judgeIfValid(section2):
                        for index3 in range(index2 + 1, index2 + 4):
                            section3 = s[index2: index3]
                            if self.judgeIfValid(section3):
                                section4 = s[index3:]
                                if self.judgeIfValid(section4):
                                    result.append("%s.%s.%s.%s" %(section1, section2, section3, section4))
        ip = result
        return ip
    def judgeIfValid(self, section):
        if section and section[0] == "0"  and len(section) > 1:
            return False
        if section and int(section) == 0 and len(section) > 1:
            return False
        if section and len(section) > 3:
            return False
        if section and int(section) >= 0 and int(section) <= 255:
            return True
        else:
            return False


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



猜您在找 LeetCode(93): 复原IP地址 Leetcode练习(Python):字符串类:第20题:有效的括号:给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 给定一个只包括 ‘(‘,‘)‘,‘{‘,‘}‘,‘[‘,‘]‘ 的字符串,判断字符串是否有效。 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效 栈特点使用:给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 Leetcode练习(Python):第415题:字符串相加:给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。 Leetcode练习(Python):字符串类:第43题:字符串相乘:给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 Leetcode练习(Python):第389题:找不同:给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。 Leetcode练习(python):字符串类:第91题:解码方法:一条包含字母 A-Z 的消息通过以下方式进行了编码: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 给定一个只包含数字的非空字符串,请计算解码方法的总数。 Leetcode练习(Python):第66题:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM