博客
关于我
1108. IP 地址无效化
阅读量:275 次
发布时间:2019-03-01

本文共 982 字,大约阅读时间需要 3 分钟。

给你一个有效的 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) 

链接:

法一:利用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/

你可能感兴趣的文章
navicat操作mysql中某一张表后, 读表时一直显示正在载入,卡死不动,无法操作
查看>>
Navicat连接mysql 2003 - Can't connect to MySQL server on ' '(10038)
查看>>
Navicat连接mysql数据库中出现的所有问题解决方案(全)
查看>>
Navicat连接Oracle出现Oracle library is not loaded的解决方法
查看>>
Navicat连接Oracle数据库以及Oracle library is not loaded的解决方法
查看>>
Navicat连接sqlserver提示:未发现数据源名并且未指定默认驱动程序
查看>>
navicat连接远程mysql数据库
查看>>
Navicat通过存储过程批量插入mysql数据
查看>>
Navicat(数据库可视化操作软件)安装、配置、测试
查看>>
navigationController
查看>>
NB-IOT使用LWM2M移动onenet基础通信套件对接之APN设置
查看>>
NBear简介与使用图解
查看>>
Vue过滤器_使用过滤器进行数据格式化操作---vue工作笔记0015
查看>>
Ncast盈可视 高清智能录播系统 IPSetup.php信息泄露+RCE漏洞复现(CVE-2024-0305)
查看>>
NCNN中的模型量化解决方案:源码阅读和原理解析
查看>>
NCNN源码学习(1):Mat详解
查看>>
nc命令详解
查看>>
NC综合漏洞利用工具
查看>>
ndarray 比 recarray 访问快吗?
查看>>
ndk-cmake
查看>>