跳转至

1108. IP 地址无效化

题目描述

给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本。

所谓无效化 IP 地址,其实就是用 "[.]" 代替了每个 "."

 

示例 1:

输入:address = "1.1.1.1"
输出:"1[.]1[.]1[.]1"

示例 2:

输入:address = "255.100.50.0"
输出:"255[.]100[.]50[.]0"

 

提示:

  • 给出的 address 是一个有效的 IPv4 地址

解法

方法一:直接替换

我们直接将字符串中的 '.' 替换为 '[.]' 即可。

时间复杂度 $O(n)$,其中 $n$ 为字符串的长度。忽略答案的空间消耗,空间复杂度 $O(1)$。

1
2
3
class Solution:
    def defangIPaddr(self, address: str) -> str:
        return address.replace('.', '[.]')
1
2
3
4
5
class Solution {
    public String defangIPaddr(String address) {
        return address.replace(".", "[.]");
    }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
class Solution {
public:
    string defangIPaddr(string address) {
        for (int i = address.size(); i >= 0; --i) {
            if (address[i] == '.') {
                address.replace(i, 1, "[.]");
            }
        }
        return address;
    }
};
1
2
3
func defangIPaddr(address string) string {
    return strings.Replace(address, ".", "[.]", -1)
}
1
2
3
function defangIPaddr(address: string): string {
    return address.split('.').join('[.]');
}

评论