持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第23天,点击查看活动详情
一.题目:
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 地址
二、思路分析:
今天的题目非常简单,因为题目给定的IP地址是有效的,即不用我们自己去判断地址是否有效,所以难度会降低很多,且题目要求使IP地址无效化,唯一做法就是替换地址中的点,所以这道题目我使用了三种方法来使IP地址无效化:
- 第一种方法就是利用字符串本身的
API去操作字符串,让字符串按照特定的模式去创建成数组的形式,随后用[.]将这些数组元素结合成字符串就完成了相关操作。 - 第二种方法就是使用
replaceAll这个API去进行字符串的相关元素替换操作,这种方法就是提用到了正则的特性去解决问题,通常替换操作都可以利用正则去完成。 - 第三种方法就是先创建一个空字符,然后去遍历IP地址的相关字符串,如果没有碰到点就进行叠加操作,反之去进行增加
[.]操作。
三、代码:
function defangIPaddr(address: string): string {
return address.split('.').join('[.]')
};
function defangIPaddr(address: string): string {
return address.replaceAll('.','[.]')
};
function defangIPaddr(address: string): string {
let str = '';
for(let i=0 ; i<address.length ; i++){
if(address[i] !== '.'){
str += address[i];
}else{
str += '[.]'
}
}
return str
};
四、总结:
今天的这道每日一题非常简单,所以我写了三种方法来完善自己的相关知识,也希望如果大家有更好的方法可以分享出来!