news 2026/4/27 10:17:56

验证IP地址(二)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
验证IP地址(二)

解决方案

概述

最直接的方法是使用内置函数和 try/catch 结构检查 IP 地址的正确性:在 Python 中使用 ipaddress,在 Java 中使用 InetAddress 。

Python 实现

from ipaddress import ip_address, IPv6Address class Solution: def validIPAddress(self, IP: str) -> str: try: return "IPv6" if type(ip_address(IP)) is IPv6Address else "IPv4" except ValueError: return "Neither"

Java 实现

import java.net.*; class Solution { public String validIPAddress(String IP) { try { return (InetAddress.getByName(IP) instanceof Inet6Address) ? "IPv6": "IPv4"; } catch(Exception e) {} return "Neither"; } }

注意:这两个类都是引用 POSIX -兼容的 inet-addr() 解析地址。如果地址带有前导零块,可能会发生错误。

地址的组成可以使十进制,八进制(以 0 开始),或十六进制(以 0X 开始)。

例如 01.01.01.012 是有效的八进制 IP 地址。检查该地址是否有效可以在控制台运行命令 ping 01.01.01.012,八进制地址 01.01.01.012 会被转换为对应的十进制地址 1.1.1.10,因此执行 ping 命令不会出错。

该题目指出如果IPv4 地址包含前置 0则地址是无效的,但其实这不符合真实情况,不过我们仍然需要解决它。

该题目要三种主要解法:

正则表达式,该方法性能不太好;

分治法,效率最高的方法之一;

使用分治法和内置的 try/catch,将字符串转换成整数处理。使用 try/catch 不是一种好的方式,因为 try 块中的代码不会被编译器优化,所以最好不要在面试中使用。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 4:35:34

电商评分系统快速搭建指南:Start Bootstrap模板实战

电商评分系统快速搭建指南:Start Bootstrap模板实战 【免费下载链接】startbootstrap BlackrockDigital/startbootstrap: 一个包含各种 Bootstrap 模板和组件的仓库,适合用于 Web 应用程序的前端开发,可以实现快速的前端页面设计和开发。 项…

作者头像 李华
网站建设 2026/4/17 7:42:34

5步搭建SGLang监控系统:从零开始掌握LLM服务运维

5步搭建SGLang监控系统:从零开始掌握LLM服务运维 【免费下载链接】sglang SGLang is a structured generation language designed for large language models (LLMs). It makes your interaction with models faster and more controllable. 项目地址: https://gi…

作者头像 李华
网站建设 2026/4/18 12:59:55

Typst裁剪操作终极指南:轻松解决内容溢出难题

Typst裁剪操作终极指南:轻松解决内容溢出难题 【免费下载链接】typst A new markup-based typesetting system that is powerful and easy to learn. 项目地址: https://gitcode.com/GitHub_Trending/ty/typst 在文档排版过程中,内容溢出边界是最…

作者头像 李华
网站建设 2026/4/17 12:21:05

10分钟精通U-2-Net分割评估:从理论到实战全解析

10分钟精通U-2-Net分割评估:从理论到实战全解析 【免费下载链接】U-2-Net U-2-Net - 用于显著对象检测的深度学习模型,具有嵌套的U型结构。 项目地址: https://gitcode.com/gh_mirrors/u2/U-2-Net 显著对象检测作为计算机视觉的核心任务&#xff…

作者头像 李华
网站建设 2026/4/20 7:22:57

如何用MiniMax-M2打造高性价比AI应用?实战部署指南与性能剖析

在轻量级AI模型快速发展的今天,MiniMax-M2以其独特的混合专家架构在代码生成和智能体任务中脱颖而出。这款仅激活100亿参数的模型,在保持强大性能的同时,显著降低了部署成本,成为开发者构建高效AI应用的理想选择。 【免费下载链接…

作者头像 李华
网站建设 2026/4/18 8:41:54

5分钟搞定网页数据提取:零代码实现精准筛选

5分钟搞定网页数据提取:零代码实现精准筛选 【免费下载链接】maxun 🔥Open Source No Code Web Data Extraction Platform. Turn Websites To APIs & Spreadsheets With No-Code Robots In Minutes🔥 项目地址: https://gitcode.com/Gi…

作者头像 李华