Problem Statement

Given a valid (IPv4) IP address, return a defanged version of that IP address.

A defanged IP address replaces every period "." with "[.]".

Examples

Example 1:

Input: address = "1.1.1.1"
Output: "1[.]1[.]1[.]1"
Example 2:

Input: address = "255.100.50.0"
Output: "255[.]100[.]50[.]0"

Constraints

  • The given address is a valid IPv4 address.

Approaches

1️⃣ Iteration

Approach

  1. Create a new string result to store the resulting string.
  2. Use a loop over each character c in address.
  3. If the character is a dot, add [.] to the result. Otherwise just add a current symbol c.
  4. At the end return the resulting string result.

Code:

string defangIPaddr(string address) 
    {
        string result; 
        for (char c : address) 
        {
            if (c == '.') result += "[.]"; 
            else result += c;
        }
        return result; 
    }

Complexity Analysis:

  • Time complexity: O(N).
  • Space complexity: O(N).