【专项】93. 复原 IP 地址
创始人
2025-06-01 01:05:31
0

93. 复原 IP 地址
有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。

例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.255.245”、“192.168.1.312” 和 “192.168@1.1” 是 无效 IP 地址。
给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插入 ‘.’ 来形成。你 不能 重新排序或删除 s 中的任何数字。你可以按 任何 顺序返回答案。

示例 1:

输入:s = “25525511135”
输出:[“255.255.11.135”,“255.255.111.35”]
示例 2:

输入:s = “0000”
输出:[“0.0.0.0”]
示例 3:

输入:s = “101023”
输出:[“1.0.10.23”,“1.0.102.3”,“10.1.0.23”,“10.10.2.3”,“101.0.2.3”]

提示:

1 <= s.length <= 20
s 仅由数字组成

class Solution {
public:bool isSubValid(string &subip) {if (subip.size() > 3 || subip.at(0) == '0' && subip.size() > 1) {return false;} return atoi(subip.c_str()) <= 255;}bool isValid(string &ip) {string tmpip = ip;tmpip.push_back('.');string tmp;for (int i = 0; i < tmpip.size(); i++) {if (tmpip.at(i) == '.') {if (isSubValid(tmp)) {tmp.clear();continue;} else {return false;}}tmp.push_back(tmpip.at(i));}return true;}string buildIpAddress(string &ip, vector &split) {string ipaddr;for (int i = 0, k = 0; i < ip.size(); i++) {if (k < split.size()) {ipaddr.push_back(ip.at(i));if (i == split[k]) {ipaddr.push_back('.');k++;}} else {ipaddr += ip.substr(i, ip.size());break;}}return ipaddr;}void dfs(vector &ans, vector &sploc, string s, int index) {if (sploc.size() == 3) {string ipaddr = buildIpAddress(s, sploc);if (isValid(ipaddr)) {ans.push_back(ipaddr);}}for (int i = index; i < s.size() - 1; i++) {if (sploc.empty() && i > 3) {break;}if (!sploc.empty() && i - sploc[sploc.size() - 1] > 3) {break;}sploc.push_back(i);dfs(ans, sploc, s, i + 1);sploc.pop_back();}}vector restoreIpAddresses(string s) {vector ans;vector sploc;dfs(ans, sploc, s, 0);return ans;}
};

相关内容

热门资讯

关于清明节祭英烈活动方案(2篇... 清明节祭英烈活动方案  第一篇  为加强未成年人中华民族优秀文化传统和中国革命传统教育,深入学习贯彻...
最新或2023(历届)公司企业...  中国元旦历来指的是农(夏、阴)历正月初一。元是“初”、“始”的意思,旦 指“日子”,元旦合称即是“...
最新或2023(历届)学校网上...   一、活动内容:组织学生进行网上祭奠、发表祭奠感言、开展网络访谈,撰写心得体会、表达对先烈、先人、...
最新或2023(历届)中小学生...  为了缅怀革命先烈丰功伟绩,引导广大青少年铭记中华民族艰苦卓绝的奋斗历程,大力弘扬爱国主义精神,进一...
最新或2023(历届)中国元旦...  在英国,公历元旦虽没有圣诞节那样隆重,但在除夕夜和元旦,还是根据当地的风俗习惯开展种种庆祝活动,以...
最新或2023(历届)中国元旦...  最新或2023(历届)中国元旦放假安排通知  最新或2023(历届)1月1日至1月3日,放假3天。...
大学新生军训广播稿 大学新生军...   大学新生军训广播稿(1)  年少的时候,总以为当兵是一首轻松浪漫的歌,歌里有绿色的橄榄枝,枝头挂...
最新或2023(历届)十八届五...  中共中央政治局10月12日召开会议,研究制定国民经济和社会发展第十三个五年规划重大问题,审议通过《...
有关微笑的校园广播稿 有关快乐...   甲:美丽的校园我的家,有你,有我,也有他!  乙:敬爱的老师们,亲爱的同学们  合:大家好!  ...
最新或2023(历届)十八届五... 最新或2023(历届)十八届五中全会什么时候召开?具体的召开时间通知已经公布,欢迎大家关注下文:  ...
预防疾病校园广播稿 预防疾病校...  甲:美丽的校园我的家,有你,有我,也有他!  乙:敬爱的老师们,亲爱的同学们  合:大家好!  甲...
小学生光盘行动广播稿 小学生光...  甲:大家好!很高兴和大家相会在这一期的红领巾广播站,我是主持人xxxx  乙:我是主持人xxxx首...
300字大学军训广播稿 300...  300字大学军训广播稿【1】  坚强,是生活在这个世界上的每个生物所具备的美好品质。  一望无垠的...
文明礼仪在心中校园广播稿 校园...   女:朝霞托着红日,徐徐从东方升起。  男:一个灿烂的日子,撒满大地。  女:春风吹,阳光照,语言...
勤奋主题小学生校园广播稿 勤奋...  甲:大家好,红领巾广播又准时和大家见面了  乙:本期红领巾广播的主题是《天才出于勤奋》  甲:有一...
尊重别人学会宽容校园广播稿 宽... 甲:当灿烂的晨曦温暖着整个校园,采撷一缕阳光,编织成七彩的花环。  乙:留住一丝清风播撒出希望的明天...
校园广播稿——学会做人 诚信做...   本期的红领巾小广播的主题是——《学做人、做好人》  甲:做人要诚实守信。  乙:做事要严己宽人。...
争做守法好少年校园广播稿 争做...   老师们、同学们:  甲乙:大家中午好!红领巾广播开始了。这一周广播的主题是“争做守法好少年”。 ...
教师节活动主持词开场白 教师节...   教师节主持人开场白台词如何写,可以是一台晚会进行的生动活泼呢,教师节的主持人开场白的描写可以有感...
最新或2023(历届)读书主题...   伴奏《校园的早晨》  甲:xx校园我的家,  乙: 你是太阳我是花。  甲:伴随着欢快的歌声,红...