Restore IP Addresses
来源:互联网 发布:毒狗药三步倒淘宝 编辑:程序博客网 时间:2024/04/29 17:02
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)
思路:DFS思路, IP address的特点是一定是四段,每段数字的大小介于0-255之间(除第一段不能为0外)。题中有两个限制,一个是通过count来控制剩余的位数;另一个是start开始判断是否每个段数的大小<256。
class Solution {public: vector<string> restoreIpAddresses(string s) { vector<string> result; if (s.size() < 4 || s.size() > 12) { return result; } restoreUtil(s, result, "", 0, 0); return result; } void restoreUtil(string s, vector<string> &result, string temp, int start, int count) { if (count == 4 && start == s.size()) { temp.pop_back(); result.push_back(temp); return; } //通过剩余的位数来判断是否合法 int remains = s.size() - start; if (remains < 4 - count || remains > (4 - count) * 3) { return; } int address = 0; for (int i = 0; i < 3 && i + start < s.size(); i++) { address = address * 10 + s[start+i] - '0'; if (address < 256) { restoreUtil(s, result, temp + s.substr(start, i + 1) + '.', start + i + 1, count + 1); } if (address == 0) { break; } } }};
0 0
- LeetCode: Restore IP Addresses
- Restore IP Addresses
- LeetCode : Restore IP Addresses
- [LeetCode] Restore IP Addresses
- Restore IP Addresses
- [LeetCode]Restore IP Addresses
- Restore IP Addresses
- Restore IP Addresses
- LeetCode:Restore IP Addresses
- Restore IP Addresses
- Restore IP Addresses
- LeetCode Restore IP Addresses
- [leetcode] Restore IP Addresses
- Restore IP Addresses
- LeetCode:Restore IP Addresses
- [LeetCode] Restore IP Addresses
- LeetCode - Restore IP Addresses
- LeetCode | Restore IP Addresses
- Java,在Windows平台上使用Socket.sendUrgentData() 来检查连接有效性是不可靠的
- win8.1下vs2013编译nginx
- Android bitmap Config
- 数据结构:可以用求最短路径的方法思想求最长路径么?给出详细解答。。
- Factorial Trailing Zeroes
- Restore IP Addresses
- uva11475 - Extend to Palindrome KMP
- 一步步优化JVM五:优化延迟或者响应时间(1)
- iOS多线程技术的深度探究四: GCD多线程技术
- C++ primer plus 第六版 课后答案 8.6
- Linux系统下C语言编程入门---进程创建
- Hadoop环境配置
- 使用GUI工具高效构建你自己的Nuget包
- 函数指针