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();
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。