[LeetCode] 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)
这题是一道回溯题,其实记录好断开的位置便容易处理了。我使用的便是递归搜索的方法,用一个数组记录了断开的位置。
- #include <string>
- #include <vector>
- #include <iostream>
- using namespace std;
- class Solution {
- public:
- vector<string> restoreIpAddresses(string s) {
- vector<string> ret;
- if(s.size()<) return ret;
- int idx[] = {,,,};
- helpFun(ret,s,idx,);
- return ret;
- }
- void helpFun(vector<string> &ret,string & s,int * idx, int id)
- {
- if(id==){
- // for(int i =0;i<4;i++)
- // cout<<idx[i]<<" ";
- // cout<<endl;
- if(helpFun2(s.substr(idx[])))
- ret.push_back(s.substr(idx[],idx[]-idx[])+"."+
- s.substr(idx[],idx[]-idx[])+"."+
- s.substr(idx[],idx[]-idx[])+"."+
- s.substr(idx[]) );
- return ;
- }
- for(int i =idx[id-]+;i<s.length();i++){
- if(helpFun2(s.substr(idx[id-],i-idx[id-]))){
- idx[id] = i;
- helpFun(ret,s,idx,id+);
- }
- else
- return ;
- }
- }
- bool helpFun2(string s)
- {
- if(s.length()==&&s[]=='') return true;
- if(s[]=='') return false;
- int sum = ;
- for(int i=;i<s.length();i++){
- sum = sum* + s[i]-'';
- if(sum>) return false;
- }
- return true;
- }
- };
- int main()
- {
- string s="";
- Solution sol;
- vector<string> ret = sol.restoreIpAddresses(s);
- for(int i=;i<ret.size();i++)
- cout<<ret[i]<<endl;
- return ;
- }
[LeetCode] Restore IP Addresses 回溯的更多相关文章
- LeetCode: Restore IP Addresses 解题报告
Restore IP Addresses My Submissions Question Solution Given a string containing only digits, restore ...
- [LeetCode] Restore IP Addresses 复原IP地址
Given a string containing only digits, restore it by returning all possible valid IP address combina ...
- [leetcode]Restore IP Addresses @ Python
原题地址:https://oj.leetcode.com/problems/restore-ip-addresses/ 题意: Given a string containing only digit ...
- LeetCode——Restore IP Addresses
Given a string containing only digits, restore it by returning all possible valid IP address combina ...
- LeetCode Restore IP Addresses
DFS class Solution { public: vector<string> restoreIpAddresses(string s) { return insertDot(s, ...
- 【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(DFS, 模拟)
题目链接 leetcode 93. Restore IP Addresses 题意 给定一段序列,判断可能组成ip数的所有可能集合 思路 可以采用模拟或者DFS的想法,把总的ip数分成四段,每段判断是 ...
- 【LeetCode】93. Restore IP Addresses
Restore IP Addresses Given a string containing only digits, restore it by returning all possible val ...
- LeetCode解题报告—— Reverse Linked List II & Restore IP Addresses & Unique Binary Search Trees II
1. Reverse Linked List II Reverse a linked list from position m to n. Do it in-place and in one-pass ...
随机推荐
- C语言数组篇(四)二维数组
二维数组声明: ][] ={{,,},{,,}; //两行 三列 二维数组在声明的时候可以不写行,但一定要写列 ] = {{,},{,,},{}}; //未声明的地方自动补零 二维 ...
- [BZOJ1045] [HAOI2008] 糖果传递 (中位数)
Description 题目链接 Solution 这题跟数列的中位数有关, 具体证明见刘汝佳的蓝皮书里 Code #include <cstdio> #include <algor ...
- 笔记-selenium+chrome headless
笔记-selenium+chrome headless 1. selenium+chrome headless phantomjs与selenium分手了,建议使用其它无头浏览器. chro ...
- 15,Flask-Script
Flask-Script 从字面意思上来看就是 Flask 的脚本 是的,熟悉Django的同学是否还记得Django的启动命令呢? python manager.py runserver 大概是这样 ...
- C#学习你需要知道的---(For和Foreach)
本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/52577283 作者:car ...
- cocos2d-x 3.0 导演,场景,层,精灵
导演(Director) 一款游戏好比一部电影,只是游戏具有更强的交互性,不过它们的基本原理是一致的.所以在Cocos2dx中把统筹游戏大局的类抽象为导演(Director),Director是整个c ...
- 2.ifconfig
转载http://www.cnblogs.com/peida/archive/2013/02/27/2934525.html 许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口 ...
- CFileDialog OFN_NOCHANGEDIR
问题:CFileDialog 调用后变成了当前工作路径,变成了CFileDialog所选择的路径. 解决:在CFileDialog的dwFlags 设置标志OFN_NOCHANGEDIR就可以了,不会 ...
- ADMX Migrator
实用工具特别推荐ADMX MigratorLance Whitney 下载这篇文章的代码: ADMX Migrator (2765KB) 对于那些 使用组策略的人而言,他们自然非常熟悉如何使用管理模板 ...
- Python学习-django-ModelForm组件
ModelForm a. class Meta: model, # 对应Model的 fields=None, # 字段 exclude=None, # 排除字段 labels=None, # 提示信 ...