Class Solution

java.lang.Object
g0401_0500.s0468_validate_ip_address.Solution

public class Solution extends Object
468 - Validate IP Address.<p>Medium</p> <p>Given a string <code>queryIP</code>, return <code>&quot;IPv4&quot;</code> if IP is a valid IPv4 address, <code>&quot;IPv6&quot;</code> if IP is a valid IPv6 address or <code>&quot;Neither&quot;</code> if IP is not a correct IP of any type.</p> <p><strong>A valid IPv4</strong> address is an IP in the form <code>&ldquo;x<sub>1</sub>.x<sub>2</sub>.x<sub>3</sub>.x<sub>4</sub>&rdquo;</code> where <code>0 <= x<sub>i</sub> <= 255</code> and <code>x<sub>i</sub></code> <strong>cannot contain</strong> leading zeros. For example, <code>&quot;192.168.1.1&quot;</code> and <code>&quot;192.168.1.0&quot;</code> are valid IPv4 addresses but <code>&quot;192.168.01.1&quot;</code>, while <code>&quot;192.168.1.00&quot;</code> and <code>&quot;[email protected]&quot;</code> are invalid IPv4 addresses.</p> <p><strong>A valid IPv6</strong> address is an IP in the form <code>&ldquo;x<sub>1</sub>:x<sub>2</sub>:x<sub>3</sub>:x<sub>4</sub>:x<sub>5</sub>:x<sub>6</sub>:x<sub>7</sub>:x<sub>8</sub>&rdquo;</code> where:</p> <ul> <li><code>1 <= x<sub>i</sub>.length <= 4</code></li> <li><code>x<sub>i</sub></code> is a <strong>hexadecimal string</strong> which may contain digits, lower-case English letter (<code>'a'</code> to <code>'f'</code>) and upper-case English letters (<code>'A'</code> to <code>'F'</code>).</li> <li>Leading zeros are allowed in <code>x<sub>i</sub></code>.</li> </ul> <p>For example, &quot;<code>2001:0db8:85a3:0000:0000:8a2e:0370:7334&quot;</code> and &quot;<code>2001:db8:85a3:0:0:8A2E:0370:7334&quot;</code> are valid IPv6 addresses, while &quot;<code>2001:0db8:85a3::8A2E:037j:7334&quot;</code> and &quot;<code>02001:0db8:85a3:0000:0000:8a2e:0370:7334&quot;</code> are invalid IPv6 addresses.</p> <p><strong>Example 1:</strong></p> <p><strong>Input:</strong> queryIP = &ldquo;172.16.254.1&rdquo;</p> <p><strong>Output:</strong> &ldquo;IPv4&rdquo;</p> <p><strong>Explanation:</strong> This is a valid IPv4 address, return &ldquo;IPv4&rdquo;.</p> <p><strong>Example 2:</strong></p> <p><strong>Input:</strong> queryIP = &ldquo;2001:0db8:85a3:0:0:8A2E:0370:7334&rdquo;</p> <p><strong>Output:</strong> &ldquo;IPv6&rdquo;</p> <p><strong>Explanation:</strong> This is a valid IPv6 address, return &ldquo;IPv6&rdquo;.</p> <p><strong>Example 3:</strong></p> <p><strong>Input:</strong> queryIP = &ldquo;256.256.256.256&rdquo;</p> <p><strong>Output:</strong> &ldquo;Neither&rdquo;</p> <p><strong>Explanation:</strong> This is neither a IPv4 address nor a IPv6 address.</p> <p><strong>Constraints:</strong></p> <ul> <li><code>queryIP</code> consists only of English letters, digits and the characters <code>'.'</code> and <code>':'</code>.</li> </ul>
  • Constructor Details

    • Solution

      public Solution()
  • Method Details