当前位置: 首页 > news >正文

深圳电子商城网站建设/佛山百度快照优化排名

深圳电子商城网站建设,佛山百度快照优化排名,wordpress 上传类,快手免费推广软件验证IP地址题目描述思路模拟Python实现Java实现C实现题目描述 验证IP地址 思路 模拟 根据题意模拟即可。 观察到有效的IPv4地址中均存在’.‘符号,IPv4有4个部分用’.‘隔开。如果存在’.,则考虑是否为IPv4地址,可以分割字符串&#xff0c…

验证IP地址

    • 题目描述
    • 思路
      • 模拟
        • Python实现
        • Java实现
        • C++实现


题目描述

验证IP地址


思路

模拟

根据题意模拟即可。
观察到有效的IPv4地址中均存在’.‘符号,IPv4有4个部分用’.‘隔开。如果存在’.',则考虑是否为IPv4地址,可以分割字符串,对于分割的每一部分,考虑是否满足以下条件,如果满足,则返回IPv4,如果不满足则返回neither:

  • 长度是否在[1, 3]之间;
  • 是否为纯数字;
  • 值是否在[0, 255]之间;
  • 是否不包含前导零。如果值为0,则该部分长度只能为1;如果值不为0,则该部分的第一个数字不能为0。

对于IPv6地址而言,均以’:‘分隔,共包含8个部分。如果存在’:',则同样对地址进行分割,对每个部分进行判断,如果满足条件则返回IPv6,如果不满足则返回Neither。条件如下:

  • 长度在[1, 4]之间;
  • 是否只包含数字,或者a-f,或者A-F。

除了上述两种情况,如果无法找到对应数量的部分,给定的字符串也不是一个有效的IP地址。

Python实现

class Solution:def validIPAddress(self, queryIP: str) -> str:if queryIP.find('.') != -1:# 可能是IPv4last = -1for i in range(4):cur = (len(queryIP) if i == 3 else queryIP.find('.', last+1))if cur == -1:return "Neither"if not 1 <= cur-last-1 <= 3:return "Neither"addr = 0for j in range(last+1, cur):if not queryIP[j].isdigit():return "Neither"addr = addr * 10 + int(queryIP[j])if addr > 255 or (addr > 0 and queryIP[last+1] == '0') or (addr == 0 and cur-last-1>1):return "Neither"last = curreturn "IPv4"else:# 可能是IPv6last = -1for i in range(8):cur = (len(queryIP) if i == 7 else queryIP.find(":", last+1))if cur == -1:return "Neither"if not 1 <= cur-last-1 <= 4:return "Neither"for j in range(last+1, cur):if not queryIP[j].isdigit() and not ("a" <= queryIP[j].lower() <= "f"):return "Neither"last = curreturn "IPv6"

Java实现

class Solution {public String validIPAddress(String queryIP) {if (queryIP.indexOf('.') >= 0) {// IPv4int last = -1;for (int i = 0; i < 4; ++i) {int cur = (i == 3 ? queryIP.length() : queryIP.indexOf('.', last + 1));if (cur < 0) {return "Neither";}if (cur - last - 1 < 1 || cur - last - 1 > 3) {return "Neither";}int addr = 0;for (int j = last + 1; j < cur; ++j) {if (!Character.isDigit(queryIP.charAt(j))) {return "Neither";}addr = addr * 10 + (queryIP.charAt(j) - '0');}if (addr > 255) {return "Neither";}if (addr > 0 && queryIP.charAt(last + 1) == '0') {return "Neither";}if (addr == 0 && cur - last - 1 > 1) {return "Neither";}last = cur;}return "IPv4";} else {// IPv6int last = -1;for (int i = 0; i < 8; ++i) {int cur = (i == 7 ? queryIP.length() : queryIP.indexOf(':', last + 1));if (cur < 0) {return "Neither";}if (cur - last - 1 < 1 || cur - last - 1 > 4) {return "Neither";}for (int j = last + 1; j < cur; ++j) {if (!Character.isDigit(queryIP.charAt(j)) && !('a' <= Character.toLowerCase(queryIP.charAt(j)) && Character.toLowerCase(queryIP.charAt(j)) <= 'f')) {return "Neither";}}last = cur;}return "IPv6";}}
}

C++实现

class Solution {
public:string validIPAddress(string queryIP) {if (queryIP.find('.') != string::npos) {// IPv4int last = -1;for (int i = 0; i < 4; ++i) {int cur = (i == 3 ? queryIP.size() : queryIP.find('.', last + 1));if (cur == string::npos) {return "Neither";}if (cur - last - 1 < 1 || cur - last - 1 > 3) {return "Neither";}int addr = 0;for (int j = last + 1; j < cur; ++j) {if (!isdigit(queryIP[j])) {return "Neither";}addr = addr * 10 + (queryIP[j] - '0');}if (addr > 255) {return "Neither";}if (addr > 0 && queryIP[last + 1] == '0') {return "Neither";}if (addr == 0 && cur - last - 1 > 1) {return "Neither";}last = cur;}return "IPv4";}else {// IPv6int last = -1;for (int i = 0; i < 8; ++i) {int cur = (i == 7 ? queryIP.size() : queryIP.find(':', last + 1));if (cur == string::npos) {return "Neither";}if (cur - last - 1 < 1 || cur - last - 1 > 4) {return "Neither";}for (int j = last + 1; j < cur; ++j) {if (!isdigit(queryIP[j]) && !('a' <= tolower(queryIP[j]) && tolower(queryIP[j]) <= 'f')) {return "Neither";}}last = cur;}return "IPv6";}}
};
http://www.lbrq.cn/news/5329.html

相关文章:

  • 从电子商务网站f型眼球轨迹分析其网站布局/sem优化策略
  • 南昌集团制作网站开发/搜索引擎营销的手段包括
  • 狼人最新网站/营销模式都有哪些
  • 海南综合网站两学一做电视夜校/seo和sem的关系
  • 市住房和城乡建设局网站大连/百度搜索榜
  • 网站维护需要多久时间/发布
  • 找工作哪个网站好找/百度广告搜索引擎
  • 外贸网站建设和优化/搜索引擎营销的方法不包括
  • 中国建设银行安徽省分行网站/短链接购买
  • wordpress找回密码邮件/整站优化要多少钱
  • 苏州网站设计网站开发公司/中国十大电商公司排名
  • 怎样用自己的电脑 做网站/吉安seo网站快速排名
  • 免费申请个人网站/无锡百度推广平台
  • 电商详情页模板免费套用/搜索引擎优化是指
  • 医疗企业网站模板免费下载/软文推广
  • 网站开发技术入股协议/互联网外包公司有哪些
  • 哈尔滨工程招投标信息网/行者seo无敌
  • 有没有做家居服设计师看的网站/网络营销活动策划方案模板
  • 深一网站建设招聘/廊坊seo排名
  • 怎么做自己的微信网站/宁波seo搜索优化费用
  • 广告设计公司合同/网站优化推广的方法
  • 外贸建设企业网站服务/网络服务
  • 温岭网站设计/免费接单平台
  • 做算命网站挣钱么/佛山网站排名提升
  • 如何做网课网站/温州网站快速排名
  • 图书馆 网站开发 总结/白帽seo是什么
  • 佛山哪个做网站的好/新闻头条最新消息今天
  • 公司网站上首页代码模板/郑州网络推广哪家口碑好
  • 网站建设需要学什么/宁海关键词优化怎么优化
  • 温州优化售后/怎么进行网站关键词优化
  • python中 tqdm ,itertuples 是什么
  • 添加状态信息
  • 玄机——第六章 流量特征分析-蚂蚁爱上树
  • 2025最新 PostgreSQL17 安装及配置(Windows原生版)
  • Twisted study notes[2]
  • imx6ull-系统移植篇11——U-Boot 移植(下)