Mid/SeniorString

Validate IP Address

Given a string queryIP, return "IPv4" if queryIP is a valid IPv4 address, "IPv6" if queryIP is a valid IPv6 address, or "Neither" if queryIP is not a correct IP of any type.

A valid IPv4 address is an IP in the form "x1.x2.x3.x4" where 0 <= xi <= 255 and xi cannot contain leading zeros.

A valid IPv6 address is an IP in the form "x1:x2:x3:x4:x5:x6:x7:x8" where:

  • 1 <= xi.length <= 4
  • xi is a hexadecimal string which may contain digits, lowercase English letters ('a' to 'f'), and upper-case English letters ('A' to 'F').
  • Leading zeros are allowed in xi.
Example 1
InputqueryIP = "172.16.254.1"
Output"IPv4"
This is a valid IPv4 address, return "IPv4".
Example 2
InputqueryIP = "2001:0db8:85a3:0:0:8A2E:0370:7334"
Output"IPv6"
This is a valid IPv6 address, return "IPv6".

Constraints

  • queryIP consists only of English letters, digits and the characters '.' and ':'.

Asked at 12 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate