博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LintCode: Restore IP Address
阅读量:6069 次
发布时间:2019-06-20

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

C++

string::substr(start_pos, length)

vector::push_back(element)

1 class Solution { 2 public: 3     vector
restoreIpAddresses(string s) { 4 vector
ret; 5 if(s.size() > 12) 6 return ret; 7 for(int i = 0; i < s.size(); i ++) 8 {
// [0, i] 9 string ip1 = s.substr(0, i+1);10 if ( !check(ip1) ) break;11 for(int j = i+1; j < s.size(); j ++)12 {
// [i+1, j]13 string ip2 = s.substr(i+1, j-i);14 if ( !check(ip2) ) break;15 for(int k = j+1; k < s.size()-1; k ++)16 {
// [j+1, k], [k+1, s.size()-1]17 string ip3 = s.substr(j+1, k-j);18 string ip4 = s.substr(k+1);19 if(check(ip3) && check(ip4))20 {21 string ip = ip1 + "." + ip2 + "." + ip3 + "." + ip4;22 ret.push_back(ip);23 }24 }25 }26 }27 return ret;28 }29 bool check(string ip)30 {31 int value = stoi(ip);32 if(ip[0] == '0') return ip.size() == 1;33 return value <= 255 ? true : false;34 }35 };

 

本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/p/5108960.html,如需转载请自行联系原作者

你可能感兴趣的文章
数据库条件查询
查看>>
Jekyll 动态地建立静态博客网站 (Get Started)
查看>>
阿里开发者们的第14个感悟:技术拓宽价值边界
查看>>
superset 性能优化1-已经使用中的superset更改默认数据源sqlite到mysql
查看>>
Vue中用props给data赋初始值遇到的问题
查看>>
CSS中的多种居中方式
查看>>
gof23行为类模式(golang版)
查看>>
《你不知道的javascript》笔记_作用域与闭包
查看>>
究竟什么是DOM?
查看>>
什么是AJAX?
查看>>
document与Object的关系
查看>>
深入解析Vue组件间通信
查看>>
SAP不同的产品是如何支持用户创建自定义字段的
查看>>
clay教程一之结点和数据操作
查看>>
九宫格抽奖--手撸代码
查看>>
Netty Pipeline源码分析(1)
查看>>
Elasticsearch Java Low Level REST Client(嗅探器)
查看>>
WIN10下VB安装Centos7桥接模式并配置静态IP
查看>>
Slog19_支配vue框架模版语法之v-bind
查看>>
网易云音乐接口+vue全家桶开发一款移动端音乐webApp
查看>>