Design Gurus Logo
Restore IP Addresses (medium)

Problem Statement

Given a string s containing digits only, return a list of string containing the valid ip addresses that can be formed by inserting the dots(.) in between string characters.

A valid IP address consists of four parts, each ranging from 0 to 255, separated by dots. It's important to note that leading zeros in any part of the IP address are not allowed, except for the number 0 itself.

  • For example, "1.1.21.1", and "1.12.1.1" are valid ip addresses, and "1.1.021.1" is invalid ip address.

Examples

  • Example 1:

    • Input: "11211"
    • Expected Output: ["1.1.2.11", "1.1.21.1", "1.12.1.1", "11.2.1.1"]
    • Justification: These are all the valid ways to insert dots into the input string such that each segment forms a valid part of an IP address without leading zeros, except for the number 0 itself, and each segment is within the range of 0 to 255.
  • Example 2:

    • Input: "1111"
    • Expected Output: ["1.1.1.1"]
    • Justification: Based on the string's length and value, there is only one way to form a valid IP address by inserting dots after each digit.
  • Example 3:

    • Input: "0000"
    • Expected Output: ["0.0.0.0"]
    • Justification: Despite leading zeros being generally disallowed, in this case, each segment of the IP address is the number 0 itself, making it the only valid formation.

Try it yourself

Try solving this question here:

Python3
Python3

. . . .

.....

.....

.....

Unlock this and all other premium problems.
No code editor for this lesson
This lesson focuses on concepts and theory