Restore IP Addresses

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

For example:
Given "25525511135",

return ["255.255.11.135", "255.255.111.35"]. (Order does not matter)

 
 
利用回溯法,注意几种情况:
0.0.0.0是合法的
01.1.1.1是不合法的
“10000”只能拆成10.0.0.0
 
 
 class Solution {
public:
vector<string> restoreIpAddresses(string s) { vector<string> result;
string tmp="";
bt(s,result);
return result; } void bt(string s,vector<string> &result,int start=,string tmp="",int left=)
{
left--;
int n=s.length(); //找到的条件
if(left==&&start==n)
{
//去除最后一个点
tmp.pop_back();
result.push_back(tmp);
return;
} //停止条件
if(left==||(n-start)/left>||(n-start)/left==||start>n)
{
return;
} string tmpStr;
if(n-start>=)
{
tmpStr=tmp;
string str1=s.substr(start,);
tmp+=str1;
bt(s,result,start+,tmp+".",left);
tmp=tmpStr;
} if(n-start>=&&s[start]!='')
{
tmpStr=tmp;
string str2=s.substr(start,);
tmp+=str2;
bt(s,result,start+,tmp+".",left);
tmp=tmpStr;
} if(n-start>=&&s[start]!='')
{
tmpStr=tmp;
string str3=s.substr(start,);
int n = atoi(str3.c_str()); if(n<=)
{
tmp+=str3;
bt(s,result,start+,tmp+".",left);
tmp=tmpStr;
}
} }
};
 

【leetcode】Restore IP Addresses的更多相关文章

  1. 【leetcode】Restore IP Addresses (middle)

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

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

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

  3. 【leetcode刷题笔记】Restore IP Addresses

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

  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 93 Restore IP Addresses ----- java

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

  6. Java for LeetCode 093 Restore IP Addresses

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

  7. LeetCode : 93. Restore IP Addresses

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABZ4AAAHUCAYAAAC6Zj2HAAAMFGlDQ1BJQ0MgUHJvZmlsZQAASImVlw

  8. 【LeetCode】Unique Email Addresses(独特的电子邮件地址)

    这道题是LeetCode里的第929道题. 题目要求: 每封电子邮件都由一个本地名称和一个域名组成,以 @ 符号分隔. 例如,在 alice@leetcode.com中, alice 是本地名称,而  ...

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

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

随机推荐

  1. 使用pt-fifo-split 工具往mysql插入海量数据

    在<mysql插入/更新数据>这篇文章提到,使用LOAD DATA INFILE语句,可以从一个文件直接加载数据到mysql中,但如果文件非常大,可能还需要对文件进行切割,分多次加载,这种 ...

  2. 测试LVS+Keepalived高可用负载均衡集群

    测试LVS+Keepalived高可用负载均衡集群 1. 启动LVS高可用集群服务 此时查看Keepalived服务的系统日志信息如下: [root@localhost ~]# tail -f /va ...

  3. mssql注入

    <%@ Page Language="C#" AutoEventWireup="true" %> <%@ Import Namespace=& ...

  4. [问题] UISearchBar 点击取消后跳动的问题

    问题详情: 首先是TableView 作为 NavigationController 的 RootViewContrller, 然后UISearchBar   添加到TableView 的 headV ...

  5. C#通用类型转换 Convert.ChangeType

    ];         object innerValue = ChangeType(value, innerType);         return Activator.CreateInstance ...

  6. 数据库创建用户SQL

    ', default_database=TableName use TableName create user A for login A with default_schema=dbo exec s ...

  7. vs2010 中无法打开 源文件 "stdafx.h" 未定义标识符 “xxx”

    解决方案: 项目属性->配置属性->C/C++->常规->附加包含目录->$(ProjectDir)

  8. Jquery实现滚动显示欢迎字幕效果

    Jquery控制滚动显示欢迎字幕: 参考代码: <!DOCTYPE html> <html> <head> <title>Colin Marquee W ...

  9. xcode的调试技巧

    转自:http://www.cnblogs.com/daiweilai/p/4421340.html#biyouji 目录 前言逼优鸡知己知彼 百战不殆抽刀断Bug 普通操作 全局断点(Global ...

  10. iOS设置分割线从边框顶端开始

    好方法,本来是在xib里面设置自定义分割线位置,结果还是差15像素,该方法亲测好使. IOS8 设置TableView Separatorinset 分割线从边框顶端开始 (转) 在ios8上 [Ta ...