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的更多相关文章

  1. Leetcode OJ : Restore IP Addresses backtrack暴搜 C++ solution

    class Solution { public: vector<string> ret; string src; int len; unordered_set<string> ...

  2. leetcode 93. Restore IP Addresses(DFS, 模拟)

    题目链接 leetcode 93. Restore IP Addresses 题意 给定一段序列,判断可能组成ip数的所有可能集合 思路 可以采用模拟或者DFS的想法,把总的ip数分成四段,每段判断是 ...

  3. 【leetcode】Restore IP Addresses

    Restore IP Addresses Given a string containing only digits, restore it by returning all possible val ...

  4. [LeetCode] 93. Restore IP Addresses 复原IP地址

    Given a string containing only digits, restore it by returning all possible valid IP address combina ...

  5. 【leetcode】Restore IP Addresses (middle)

    Given a string containing only digits, restore it by returning all possible valid IP address combina ...

  6. leetcode 93 Restore IP Addresses ----- java

    Given a string containing only digits, restore it by returning all possible valid IP address combina ...

  7. Java for LeetCode 093 Restore IP Addresses

    Given a string containing only digits, restore it by returning all possible valid IP address combina ...

  8. LeetCode : 93. Restore IP Addresses

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABZ4AAAHUCAYAAAC6Zj2HAAAMFGlDQ1BJQ0MgUHJvZmlsZQAASImVlw

  9. 【LeetCode】93. Restore IP Addresses

    Restore IP Addresses Given a string containing only digits, restore it by returning all possible val ...

  10. LeetCode: Restore IP Addresses 解题报告

    Restore IP Addresses My Submissions Question Solution Given a string containing only digits, restore ...

随机推荐

  1. java中的jdbc操作

    package demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedSta ...

  2. Python + Bottle + 谷歌搜索Api 实现简单搜索引擎

    1.运行环境 python3 centos7 2.Bottle的使用 使用bottle主要是因为它仅用python自带的库即可实现对web的搭建. bottle源码分析 bottle使用教程 3.代码 ...

  3. Voyager下的Dashboard Widgets

    widgets设置,voyager.php下找到'widgets': 'widgets' => [ 'TCG\\Voyager\\Widgets\\UserDimmer', 'TCG\\Voya ...

  4. Voyager下的关系模型

    关系:一个用户有几件商品,对应User表和Products表 在Products表下添加字段,user_id 打开products下的bread,点击Create Relationship Produ ...

  5. java 的多态(2013-10-11-163 写的日志迁移

    java 的多态性:(所谓多态--就是指一个引用(类型)在不同情况下的多种状态)   1.方法的多态:    重载(overload)   重写(覆盖 override)   2.对象的多态性:(本人 ...

  6. 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 ...

  7. nrf开发笔记一开发软件

    nrf52810 的开发环境,比较主流的可以使用keil,iar亦可.sdk中,使用的是pca10040e,s112.虽然开发板共用一个型号(pca10040) keil5中,cmsis 需要4.5. ...

  8. python爬取+使用网易卡搭作品数量api

    第一步,当然是打开浏览器~ 然后打开卡搭~ 看着熟悉的界面,是不是有点不知所措? 这就对了,咱找点事情干干. 随便找个倒霉蛋,比如这位:"混世大王",打开他的主页! 按下f12(我 ...

  9. markdown快捷键

    分组 功能 操作 快捷键 设置标题 一级标题 Heading1 Ctrl+1 二级标题 Heading2 Ctrl+2 三级标题 Heading3 Ctrl+3 四级标题 Heading4 Ctrl+ ...

  10. jenkins匿名用户登录 - 安全设置

    最近自己安装配置jenkins,但是跑任务时,发现是匿名账户登录,且提示: 后来发现搭建好jenkins之后,默认就是匿名用户登录的,可以在安装设置菜单里进行账户管理. 1.登录Jenkins服务器, ...