博客
关于我
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 [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
查看>>
MySQL _ MySQL常用操作
查看>>
MySQL – 导出数据成csv
查看>>
MySQL —— 在CentOS9下安装MySQL
查看>>
MySQL —— 视图
查看>>
mysql 不区分大小写
查看>>
mysql 两列互转
查看>>
MySQL 中开启二进制日志(Binlog)
查看>>
MySQL 中文问题
查看>>
MySQL 中日志的面试题总结
查看>>
mysql 中的all,5分钟了解MySQL5.7中union all用法的黑科技
查看>>
MySQL 中的外键检查设置:SET FOREIGN_KEY_CHECKS = 1
查看>>
Mysql 中的日期时间字符串查询
查看>>
mysql 中索引的问题
查看>>
MySQL 中锁的面试题总结
查看>>
MySQL 中随机抽样:order by rand limit 的替代方案
查看>>
MySQL 为什么需要两阶段提交?
查看>>
mysql 为某个字段的值加前缀、去掉前缀
查看>>
mysql 主从
查看>>
mysql 主从 lock_mysql 主从同步权限mysql 行锁的实现
查看>>