LeetCode题解之 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 地址

方法一:使用replaceAll函数

解题思路

使用 replaceAll 函数进行替换。

复杂度分析

  • 时间复杂度:O(n)。
  • 空间复杂度:O(1)。

代码实现

class Solution {
    public String defangIPaddr(String address) {
        return address.replaceAll("\\.", "[.]");
    }
}

方法二:遍历拼接

解题思路

使用 StringBuilder 遍历字符串拼接成无效的 IP 地址。

复杂度分析

  • 时间复杂度:O(n),其中 n 为字符串 address 的长度。
  • 空间复杂度:O(n)。

代码实现

class Solution {
    public String defangIPaddr(String address) {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < address.length(); i ++) {
            if (address.charAt(i) == '.') {
                sb.append("[.]");
            } else {
                sb.append(address.charAt(i));
            }
        }
        return sb.toString();
    }
}

你可能感兴趣的:(LeetCode题解之 IP 地址无效化)