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 地址。
解题思路
这道题很简单,先是用一个循环进行遍历就可以了,然后用c++中的replace函数,将.
替换成[.]
,但是我还是踩了一个坑,所以还是记录一下,毕竟是个菜鸡。
我遇到的坑
我开始做的时候用的是正向遍历,在本题若正遍历,每次替换完,下一个字符会变成 .
,然后又进行替换,陷入死循环。
这道题应该进行逆向遍历,然后替换。
力扣通过代码
class Solution {
public:
string defangIPaddr(string address) {
for(int i = address.length(); i >= 0; i--){
if(address[i] == '.'){
address.replace(i, 1, "[.]");
}
}
return address;
}
};