leetcode 93. Restore IP Addresses
来源:互联网 发布:网站域名注册流程 编辑:程序博客网 时间:2024/04/29 18:14
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)
class Solution {int my_atoi(string s){int re = 0;int k = 0;while (k <s.length()){re = 10 * re + s[k] - '0';k++;}return re;}public:vector<string> restoreIpAddresses(string s) {vector<string>re;vector< string>candi; vector<string>aa;candi.push_back(s);int k = 0;while (true){vector<string>newcandi;k++;for (int i = 0; i < candi.size(); i++){if (k == 1){for (int j = 1; j <= 3; j++){string ss = candi[i];if (ss.length() - j >= 3 && ss.length() - j <= 9){int n = my_atoi(string(ss.begin(), ss.begin() + j));if ( n <= 255){if ((n == 0 && j == 1)||(n>0&&ss[0]!='0')){ss.insert(ss.begin() + j, '.');newcandi.push_back(ss);}}}}}else if (k == 2){for (int j = 1; j <= 3; j++){string ss = candi[i];int pos = ss.rfind('.');if (ss.length() - j-pos-1 >= 2 && ss.length() - j -pos-1<= 6){int n = my_atoi(string(ss.begin() + pos + 1, ss.begin() + pos + 1 + j));if (n <= 255 ){if ((n == 0 && j == 1) || (n > 0 && ss[pos + 1] != '0')){ss.insert(ss.begin() + pos + j + 1, '.');newcandi.push_back(ss);}}}}}else if (k == 3){for (int j = 1; j <= 3; j++){string ss = candi[i];int pos = ss.rfind('.');if (ss.length() - j -pos-1>= 1 && ss.length() - j-pos-1 <= 3){int n = my_atoi(string(ss.begin() + pos + 1, ss.begin() + pos + 1 + j));int n2 = my_atoi(string(ss.begin() + 1 + j + pos, ss.end()));if (n <= 255 && n2 <= 255){if (((n == 0 && j == 1) || (n > 0 && ss[pos + 1] != '0')) &&((n2 == 0 && 1 + j + pos == ss.length() - 1) || (n2>0 && ss[1 + j + pos] != '0'))){ss.insert(ss.begin() + pos + j + 1, '.');re.push_back(ss);}}}}}}candi = newcandi;if (k == 3)return re;}}};
accepted
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
- 输出重定向1 > /dev/null 2>&1
- java基础知识总结2
- 数据结构基础
- iOS关于UITableView的用法和问题,都写到这里了!
- magento catalog 添加新字段
- leetcode 93. Restore IP Addresses
- protect your eye
- 安卓-android.intent.category.DEFAULT
- Hibernate 相关jar包详细介绍 .
- Android 程序员必备
- HTML5+Spring-MVC实现手机端上传图片
- magento 笔记
- [MS Office使用] Word无法合并单元格
- centos命令