博客
关于我
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/

你可能感兴趣的文章
mysql报错级别_更改MySQL日志错误级别记录非法登陆(Access denied)
查看>>
Mysql报错:too many connections
查看>>
MySQL报错:无法启动MySQL服务
查看>>
mysql授权用户,创建用户名密码,授权单个数据库,授权多个数据库
查看>>
mysql排序查询
查看>>
MySQL排序的艺术:你真的懂 Order By吗?
查看>>
MySQL排序的艺术:你真的懂 Order By吗?
查看>>
Mysql推荐书籍
查看>>
Mysql插入数据从指定选项中随机选择、插入时间从指定范围随机生成、Navicat使用存储过程模拟插入测试数据
查看>>
MYSQL搜索引擎
查看>>
mysql操作数据表的命令_MySQL数据表操作命令
查看>>
mysql操作日志记录查询_如何使用SpringBoot AOP 记录操作日志、异常日志?
查看>>
MySQL支持的事务隔离级别,以及悲观锁和乐观锁的原理和应用场景?
查看>>
mysql支持表情
查看>>
MySQL支撑百万级流量高并发的网站部署详解
查看>>