it is all about corner-cases...

class Solution(object):
def validIP4(self, IP):
def validNum4(s):
try:
# leading zero, negative
if (s[] == '' and len(s) > ) or s[] == '-':
return False
# value range
v = int(s)
if not (v >= and v <= ):
return False
except ValueError:
return False
return True arr = IP.split(".")
for s in arr:
if len(s) == :
return False
if not validNum4(s):
return False
return True def validIP6(self, IP):
def validNum6(s):
s = s.lower()
for c in s:
if not ((c >= '' and c <= '') or (c >= 'a' and c <= 'f')):
return False
return True arr = IP.split(":")
for s in arr:
if len(s) == or len(s) > :
return False if not validNum6(s):
return False
return True def validIPAddress(self, IP):
"""
:type IP: str
:rtype: str
"""
bIs4 = len(IP.split(".")) ==
if bIs4:
if self.validIP4(IP):
return "IPv4"
bIs6 = len(IP.split(":")) ==
if bIs6:
if self.validIP6(IP):
return "IPv6"
return "Neither"

LeetCode "468. Validate IP Address"的更多相关文章

  1. 【LeetCode】468. Validate IP Address 解题报告(Python)

    [LeetCode]468. Validate IP Address 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: h ...

  2. 468 Validate IP Address 验证IP地址

    详见:https://leetcode.com/problems/validate-ip-address/description/ Java实现: class Solution { public St ...

  3. Java实现 LeetCode 468 验证IP地址

    468. 验证IP地址 编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址. IPv4 地址由十进制数和点来表示,每个地址包含4个十进制数,其范围为 0 - 255, 用(&qu ...

  4. [LeetCode] Validate IP Address 验证IP地址

    In this problem, your job to write a function to check whether a input string is a valid IPv4 addres ...

  5. Leetcode: Validate IP Address

    In this problem, your job to write a function to check whether a input string is a valid IPv4 addres ...

  6. [Swift]LeetCode468. 验证IP地址 | Validate IP Address

    Write a function to check whether an input string is a valid IPv4 address or IPv6 address or neither ...

  7. Java Regex match IP address

    Reference: [1] https://www.mkyong.com/regular-expressions/how-to-validate-ip-address-with-regular-ex ...

  8. LeetCode 1108. Defanging an IP Address (IP 地址无效化)

    题目标签:String 题目给了我们一组 ip address,让我们把 . 变成 [.],这题可以用replace,但是这样做的话,好像没意义了.所以还是走一下array,具体看code. Java ...

  9. LeetCode:Restore IP Address

    93. Restore IP Addresses Given a string containing only digits, restore it by returning all possible ...

随机推荐

  1. 数据库Mysql学习笔记(一)

    Mysql 数据库是数据库初学者最佳的选择的,其语法简单,采用的非底层的SQL语言定义(DDL).操作(DML).控制(DCL)数据库. 入门知识:服务器.库.表. (1)安装Mysql服务器.配置文 ...

  2. iOS学习之iOS沙盒(sandbox)机制和文件操作之NSFileManager(三)

    1.在Documents里创建目录 创建一个叫test的目录,先找到Documents的目录, NSArray *paths = NSSearchPathForDirectoriesInDomains ...

  3. Unity3D-ScrollRect 各参数的代码引用以及作用

    版本Unity4.6: 以下为ScrollRect面板上各选项 对应 在代码里的属性: content(RectTransform): scrollRect的RectTransform组件,即滑动面板 ...

  4. 十分钟了解分布式计算:GraphX

    GraphX原型论文 GraphX是Spark中用于图(e.g., Web-Graphs and Social Networks)和图并行计算(e.g., PageRank and Collabora ...

  5. Flume NG安装部署及数据采集测试

    转载请注明出处:http://www.cnblogs.com/xiaodf/ Flume作为日志收集工具,监控一个文件目录或者一个文件,当有新数据加入时,采集新数据发送给消息队列等. 1 安装部署Fl ...

  6. GWAS Simulation

    comvert hmp to ped1, ped2, map fileSB1.ped, SB2.ped, SB.map 1, choose 20 markers for 30 times(WD: /s ...

  7. 动态规划VS分治策略

    •在用分治法解决问题时,由于子问题的数目往往是问题规模的指数函数,因此对时间的消耗太大. •动态规划的思想在于,如果各个子问题不是独立的,不同的子问题的个数只是多项式量级,而我们能够保存已经解决的子问 ...

  8. 项目里总结出来的log4j模板

    项目日志模板:http://www.cnblogs.com/baibaluo/archive/2011/06/03/2072091.html#commentform #全局设置 log4j.rootL ...

  9. nodeType、nodeName和nodeValue

    首先了解一下DOM中有三大节点,分别是 元素节点,文本节点,属性节点 元素节点:构成了DOM的基础.文档结构中,<html>是根元素,代表整个文档,其他的还有<head>,&l ...

  10. js中toString和valueOf方法的区别

    toString 方法 返回对象的字符串表示形式. 语法:objectname.toString([radix]) objectname 必需.要为其搜索字符串表示形式的对象. radix 可选.为将 ...