本文共 982 字,大约阅读时间需要 3 分钟。
给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本。
所谓无效化 IP 地址,其实就是用 "[.]" 代替了每个 "."。
示例 1:
示例 2:输入:address = "1.1.1.1"
输出:"1[.]1[.]1[.]1"
输入:address = "255.100.50.0"
输出:"255[.]100[.]50[.]0"
提示:
来源:力扣(LeetCode)
链接:法一:利用sscanf()函数与sprintf()函数
char * defangIPaddr(char * address){ if (address == NULL) { return NULL; } int a,b,c,d; sscanf(address, "%d.%d.%d.%d", &a, &b, &c, &d); char* res = (char*)malloc(sizeof(char) * 32); memset(res, 0, sizeof(char) * 32); sprintf(res, "%d[.]%d[.]%d[.]%d", a, b, c, d); return res;}
法二:常规解法,利用循环依次赋值
char * defangIPaddr(char * address){ int len = strlen(address); char *add = (char *)malloc(len+7); int k = 0; for(int i = 0; i < len; i++) { if(address[i] == '.') { add[k++] = '['; add[k++] = '.'; add[k++] = ']'; } else { add[k++] = address[i]; } } add[k] = '\0'; return add;}
转载地址:http://moio.baihongyu.com/