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

力扣-字符串-468 检查ip

思路

考察字符串的使用,还有对所有边界条件的检查
spilt(“\.”),toCharArray,Integer.parseInt()

代码

class Solution {boolean checkIpv4Segment(String str){if(str.length() == 0 || str.length() > 4) return false;if(str.charAt(0) == '0' && str.length() > 1) return false;for(char c:str.toCharArray()){if(c < '0' || c > '9'){return false;}}int num = Integer.parseInt(str);if(num < 0 || num > 255) return false;return true;}boolean checkIpv6Segment(String str){for(char c:str.toCharArray()){if( (c < '0' ||  c > '9') && (c < 'a' || c > 'f') && (c < 'A' || c > 'F') ){return false;}}if(str.length() > 4 || str.length() == 0) return false;return true;}public String validIPAddress(String queryIP) {int dotLen = 0;int len = 0;for(int i = 0; i < queryIP.length(); i++){if(queryIP.charAt(i) == '.') dotLen++;else if(queryIP.charAt(i) == ':') len++;}if(dotLen == 3){String[] spilt = queryIP.split("\\.");if(spilt.length == 4){for(int i = 0; i < spilt.length; i++){if(!checkIpv4Segment(spilt[i])){return "Neither";}}return "IPv4";}}if(len == 7){String[] spilt = queryIP.split(":");if(spilt.length == 8){for(int i = 0; i < spilt.length; i++){if(!checkIpv6Segment(spilt[i])){return "Neither";}}return "IPv6";}}return "Neither";}
}

相关文章:

  • XGBoost算法原理及Python实现
  • 使用 Azure DevSecOps 和 AIOps 构建可扩展且安全的多区域金融科技 SaaS 平台
  • 网狐系列三网通新钻石娱乐源码全评:结构拆解、三端实测与本地部署问题记录
  • 软考-软件设计师中级备考 11、计算机网络
  • 数据结构与算法:回溯
  • Redis 数据类型详解(一):String 类型全解析
  • GateWay使用
  • 【CISCO】Se2/0, Se3/0:串行口(Serial) 这里串口的2/0 和 3/0分别都是什么?
  • Python函数完全指南:从零基础到灵活运用
  • [特殊字符]Spring Boot 后台使用 EasyExcel 实现数据报表导出(含模板、样式、美化)
  • **Java面试:技术大比拼**
  • 【人工智能】大模型安全的深度剖析:DeepSeek漏洞分析与防护实践
  • 【C++】Docker常用语法
  • VirtualBox 创建虚拟机并安装 Ubuntu 系统详细指南
  • Ubuntu环境下使用uWSGI服务器【以flask应用部署为例】
  • 牛客月赛115 C题-命运之弹 题解
  • ZArchiver正版:高效文件管理,完美解压体验
  • javaEE——单例模式
  • 机器学习的简单介绍
  • 机器学习和深度学习的对比
  • 围绕“工程智能”系统布局,同济大学官宣成立五大研究院
  • 赣州蓉江新区党工委原书记王凌主动交代问题,正接受审查调查
  • 菲律宾华人“钢铁大王”撕票案两主谋被捕,部分赎金已被提取
  • 王毅同德国外长瓦德富尔通电话
  • 首届巴塞尔艺术奖公布:大卫·哈蒙斯、曹斐等36人获奖
  • 左手免费午餐右手花开岭,邓飞14年公益之路的中国贡献