1108. IP 地址无效化【简单】
1. 📝 题目描述
给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本。
所谓无效化 IP 地址,其实就是用 "[.]" 代替了每个 "."。
示例 1:
txt
输入:address = "1.1.1.1"
输出:"1[.]1[.]1[.]1"1
2
2
示例 2:
txt
输入:address = "255.100.50.0"
输出:"255[.]100[.]50[.]0"1
2
2
提示:
- 给出的
address是一个有效的 IPv4 地址
2. 🎯 s.1 - 暴力解法
js
/**
* @param {string} address
* @return {string}
*/
var defangIPaddr = function (address) {
// 逐字符构造,遇到 '.' 替换为 '[.]'
let res = ''
for (let i = 0; i < address.length; i++) {
const ch = address[i]
res += ch === '.' ? '[.]' : ch
}
return res
}
// 也可以直接使用内置的 replace 方法直接全局替换
/*
var defangIPaddr = function (address) {
return address.replace(/\./g, '[.]')
}
*/1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
- 时间复杂度:
,其中 n 是字符串的长度,遍历一次字符串 - 空间复杂度:
(不计输出为 )
算法思路:
- 遍历原字符串,遇到字符
'.'时输出"[.]",其他字符原样拷贝 - 不改变字符顺序,仅对分隔符进行替换,不涉及解析或校验
- 逐字符处理,时间与输入长度线性相关,适合较长地址字符串