题解 | #验证IP地址#

验证IP地址

https://www.nowcoder.com/practice/55fb3c68d08d46119f76ae2df7566880

class Solution:
    def solve(self, IP: str) -> str:
        def is_ipv4(ip):
            parts = ip.split(".")
            if len(parts) != 4:
                return False
            for part in parts:
                if (
                    not part.isdigit()
                    or not 0 <= int(part) <= 255
                    or (len(part) > 1 and part[0] == "0")
                ):
                    return False
            return True

        def is_ipv6(ip):
            parts = ip.split(":")
            if len(parts) != 8:
                return False
            for part in parts:
                if not (
                    1 <= len(part) <= 4
                    and all([c in "0123456789abcdefABCDEF" for c in part])
                ):
                    return False
            return True

        if is_ipv4(IP):
            return "IPv4"
        elif is_ipv6(IP):
            return "IPv6"
        else:
            return "Neither"

全部评论

相关推荐

07-03 11:02
中山大学 C++
字节刚oc,但距离九月秋招很近了有两段互联网实习,非腾讯字节。不敢赌转正,现在在纠结去还是不去如果实习俩月离职会有什么后果吗
阿城我会做到的:不去后悔一辈子,能否转正取决于ld的态度,只要他不卡,答辩就是走流程,个人觉得可以冲一把
投递字节跳动等公司8个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务