LeetCode OJ-- Restore IP Addresses
https://oj.leetcode.com/problems/restore-ip-addresses/
string到int的ip地址格式化。
分别用 i+1,j+1,k+1,表示前三个地址段的数位的个数。之后判断每个地址段是否数字个数都是从1到3,并且数是从0到255,符合条件的即可。
如果一个地址段的第一位是0,则这个地址段只能是0.比如 010010,表示成0.10.0.10或者0.100.1.0
class Solution {
public:
int str2int( string str)
{
if(str[]==''&& str.size()>)
return ; //this is 01,010 and so on , no allowed
// if the first bit is 0 ,then it no allowed second bit
int ans = ;
for(int i = ;i<str.size();i++)
{
ans = ans*;
ans += str[i] - '';
}
return ans;
}
vector<string> restoreIpAddresses(string s) {
string strAnsPiece;
vector<string> ans;
if(s.size()> || s.size()<)
return ans;
for(int i = ;i<=;i++)
{
string str1 = s.substr(,i+);
if(s.size()-i->)
continue;
if(str2int(str1)>)
break;
for(int j = ;j<=;j++)
{
if( s.size() - i - j - >)
continue;
string str2 = s.substr(i+,j+);
if(str2int(str2)>)
break;
for(int k = ;k<=;k++)
{
string str3 = s.substr(i+j+,k+);
if(str2int(str3)>)
break;
if((s.size() - i - j - k - >= )&& (s.size() - i - j - k - <= ))
{
string str4 = s.substr(i+j+k+,s.size()-i-j-k-);
if(str2int(str4)<=)
{
string ansPiece = str1;
ansPiece.append( ".");
ansPiece.append(str2);
ansPiece.append( ".");
ansPiece.append(str3);
ansPiece.append(".");
ansPiece.append(str4);
ans.push_back(ansPiece);
}
}
}
}
}
return ans;
}
};
LeetCode OJ-- Restore IP Addresses的更多相关文章
- Leetcode OJ : Restore IP Addresses backtrack暴搜 C++ solution
class Solution { public: vector<string> ret; string src; int len; unordered_set<string> ...
- leetcode 93. Restore IP Addresses(DFS, 模拟)
题目链接 leetcode 93. Restore IP Addresses 题意 给定一段序列,判断可能组成ip数的所有可能集合 思路 可以采用模拟或者DFS的想法,把总的ip数分成四段,每段判断是 ...
- 【leetcode】Restore IP Addresses
Restore IP Addresses Given a string containing only digits, restore it by returning all possible val ...
- [LeetCode] 93. Restore IP Addresses 复原IP地址
Given a string containing only digits, restore it by returning all possible valid IP address combina ...
- 【leetcode】Restore IP Addresses (middle)
Given a string containing only digits, restore it by returning all possible valid IP address combina ...
- leetcode 93 Restore IP Addresses ----- java
Given a string containing only digits, restore it by returning all possible valid IP address combina ...
- Java for LeetCode 093 Restore IP Addresses
Given a string containing only digits, restore it by returning all possible valid IP address combina ...
- LeetCode : 93. Restore IP Addresses
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABZ4AAAHUCAYAAAC6Zj2HAAAMFGlDQ1BJQ0MgUHJvZmlsZQAASImVlw
- 【LeetCode】93. Restore IP Addresses
Restore IP Addresses Given a string containing only digits, restore it by returning all possible val ...
- LeetCode: Restore IP Addresses 解题报告
Restore IP Addresses My Submissions Question Solution Given a string containing only digits, restore ...
随机推荐
- java中的jdbc操作
package demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedSta ...
- Python + Bottle + 谷歌搜索Api 实现简单搜索引擎
1.运行环境 python3 centos7 2.Bottle的使用 使用bottle主要是因为它仅用python自带的库即可实现对web的搭建. bottle源码分析 bottle使用教程 3.代码 ...
- Voyager下的Dashboard Widgets
widgets设置,voyager.php下找到'widgets': 'widgets' => [ 'TCG\\Voyager\\Widgets\\UserDimmer', 'TCG\\Voya ...
- Voyager下的关系模型
关系:一个用户有几件商品,对应User表和Products表 在Products表下添加字段,user_id 打开products下的bread,点击Create Relationship Produ ...
- java 的多态(2013-10-11-163 写的日志迁移
java 的多态性:(所谓多态--就是指一个引用(类型)在不同情况下的多种状态) 1.方法的多态: 重载(overload) 重写(覆盖 override) 2.对象的多态性:(本人 ...
- graph-Dijkstra's shortest-path alogorithm
直接贴代码吧,简明易懂. 后面自己写了测试,输入数据为: a b c d e 0 1 4 0 2 2 1 2 3 1 3 2 1 4 3 2 1 1 2 3 4 2 4 5 4 3 1 也就是课本上1 ...
- nrf开发笔记一开发软件
nrf52810 的开发环境,比较主流的可以使用keil,iar亦可.sdk中,使用的是pca10040e,s112.虽然开发板共用一个型号(pca10040) keil5中,cmsis 需要4.5. ...
- python爬取+使用网易卡搭作品数量api
第一步,当然是打开浏览器~ 然后打开卡搭~ 看着熟悉的界面,是不是有点不知所措? 这就对了,咱找点事情干干. 随便找个倒霉蛋,比如这位:"混世大王",打开他的主页! 按下f12(我 ...
- markdown快捷键
分组 功能 操作 快捷键 设置标题 一级标题 Heading1 Ctrl+1 二级标题 Heading2 Ctrl+2 三级标题 Heading3 Ctrl+3 四级标题 Heading4 Ctrl+ ...
- jenkins匿名用户登录 - 安全设置
最近自己安装配置jenkins,但是跑任务时,发现是匿名账户登录,且提示: 后来发现搭建好jenkins之后,默认就是匿名用户登录的,可以在安装设置菜单里进行账户管理. 1.登录Jenkins服务器, ...