[leetcode]93. Restore IP Addresses
来源:互联网 发布:手机数据连接不能上网 编辑:程序博客网 时间:2024/04/29 15:18
题目地址
https://leetcode.com/problems/restore-ip-addresses/
题目大意
给一串全是数字的字符串,在其中添加三个.
使其成为合法的点分十进制IP地址,返回所有的可能。
解题思路
将字符串分成两个部分,前半部分为0-255之间的数字。后半部分递归处理,直到将字符串分成4个部分,然后判断是否为合法的IP地址。
这其中要注意,多个00的情况和以0开头的字符串的情况。
代码
class Solution {public: vector<string> restoreIpAddresses(string s) { vector<string> result; small(s, "", 1, result); return result; } void small(const string & remain, const string & prefix, int part, vector<string> & result) { if (remain.size() == 0) { return; } if (part == 4) { if (remain.size() > 3) { return; } if (!is_valid(remain)) { return; } result.push_back(prefix + remain); return; } for (int i = 1; i <= 3 && i < remain.size(); ++i) { string prefix_tmp = remain.substr(0, i); if (!is_valid(prefix_tmp)) { break; } prefix_tmp = prefix + prefix_tmp + "."; string remain_tmp = remain.substr(i); small(remain_tmp, prefix_tmp, part + 1, result); } return; } bool is_valid(const string & s) { int tmp = stoi(s); if (tmp < 0 || tmp > 255) { return false; } if (tmp != 0 && s[0] == '0') { return false; } if (tmp == 0 && s.size() != 1) { return false; } return true; }};
0 0
- LeetCode 93. Restore IP Addresses
- [Leetcode] 93. Restore IP Addresses
- LeetCode --- 93. Restore IP Addresses
- [LeetCode]93.Restore IP Addresses
- Leetcode 93.Restore IP Addresses
- [leetcode] 93.Restore IP Addresses
- [leetcode] 93.Restore IP Addresses
- 93. Restore IP Addresses LeetCode
- leetcode 93. Restore IP Addresses
- Leetcode 93. Restore IP Addresses
- LeetCode 93. Restore IP Addresses
- LeetCode *** 93. Restore IP Addresses
- leetcode 93. Restore IP Addresses
- LeetCode-93.Restore IP Addresses
- LeetCode 93. Restore IP Addresses
- leetcode-93. Restore IP Addresses
- leetcode.93. Restore IP Addresses
- [leetcode]93. Restore IP Addresses
- 图像检索大牛芮勇Yong Rui
- XPath
- 完全背包问题UVA147
- IDM张馨予版
- 安卓IPC机制之Binder详解
- [leetcode]93. Restore IP Addresses
- RRC信令过程概述
- Intent、PendingIntent的区别
- [JZOJ 3424] 粉刷匠 && [JZOJ 4254] 集体照
- FPGA 设计32位乘法器
- hudson--findbugs报告
- python中,list转str
- 文字显示乱码问题解决
- Middle-题目92:139. Word Break