跳至主要內容

1108. IP 地址无效化


1108. IP 地址无效化

🟢   🔖  字符串  🔗 力扣open in new window LeetCodeopen in new window

题目

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.

题目大意

给你一个有效的 IPv4open in new window 地址 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 地址

解题思路

对于这个问题,使用 JavaScript 的 replaceAll() 方法或正则表达式替换是一种更优化的方式。

复杂度分析

  • 时间复杂度O(n),其中 n 是字符串长度,replaceAll() 方法会遍历整个字符串,每个字符检查是否匹配目标模式。
  • 空间复杂度O(n),替换操作直接返回新字符串,仅新字符串所需的空间,没有额外的数组创建。

代码

/**
 * @param {string} address
 * @return {string}
 */
var defangIPaddr = function (address) {
	return address.replaceAll('.', '[.]');
};