给你一个有效的 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 地址
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/defanging-an-ip-address
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解析:
该题目比较简单,类似于将空格替换为%*%的形式。这里是将‘.’替换为“[.]”。因为IPV4有三个点,所以结果字符串比原来字符串的长度长3*2=6;因此,定义一个比原来长6的字符串,从后往前遍历,遇到点就进行替换即可。
代码:
string defangIPaddr(string address)
{
int len=address.length();
int lenRes=len+6;
string res;
res.resize(lenRes);
for(int i=len-1,j=lenRes-1;i>=0;--i)//从后往前遍历
{
if(address[i]=='.')//遇到点替换
{
res[j--]=']';
res[j--]='.';
res[j--]='[';
}
else
{
res[j--]=address[i];
}
}
return res;
}