Defanging an IP Address

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

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

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.

class Solution 
{
public:
    string defangIPaddr(string address) 
    {
        string pattern = ".";
        string replace = "[.]";
        
        string result = address;
        string::size_type pos = 0;
        string::size_type offset = 0;
        
        while ((pos = result.find(pattern, offset)) != std::string::npos)
        {
            result.replace(result.begin() + pos, result.begin() + pos + pattern.size(), replace);
            offset = pos + replace.size();
        }
        
        return result;
    }
        
};

좋은 웹페이지 즐겨찾기