leetcode:Restore IP Addresses
来源:互联网 发布:网络棋牌室违法吗 编辑:程序博客网 时间:2024/06/05 16:59
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)
public class Solution { static char[] str; static ArrayList<String> ans = new ArrayList<String>(); public ArrayList<String> restoreIpAddresses(String s) { ArrayList<Integer> stack = new ArrayList<Integer>(); ans.clear(); str = s.toCharArray(); dfs(stack, 0, 0); return ans; } static void dfs(ArrayList<Integer> stack, int dept, int pos) { if (dept == 4 && pos == str.length) { ans.add(getIP(stack)); } else if (dept < 4 && pos < str.length) { for (int i = pos; i < str.length; ++i) { if(str[pos] == '0' && pos != i) return; int temp = getNum(pos, i + 1); if (temp <= 255) { stack.add(temp); dfs(stack, dept + 1, i + 1); stack.remove(dept); } else { break; } } } } static int getNum(int start, int end) { int num = 0; for (int i = start; i < end; ++i) { num *= 10; num += str[i] - '0'; } return num; } static String getIP(ArrayList<Integer> stk) { String s = ""; s += stk.get(0); for (int i = 1; i < stk.size(); ++i) { s += "."; s += stk.get(i); } return s; }}
0 0
- LeetCode: Restore IP Addresses
- LeetCode : Restore IP Addresses
- [LeetCode] Restore IP Addresses
- [LeetCode]Restore IP Addresses
- LeetCode:Restore IP Addresses
- LeetCode Restore IP Addresses
- [leetcode] Restore IP Addresses
- LeetCode:Restore IP Addresses
- [LeetCode] Restore IP Addresses
- LeetCode - Restore IP Addresses
- LeetCode | Restore IP Addresses
- 【leetcode】Restore IP Addresses
- Leetcode: Restore IP Addresses
- leetcode Restore IP Addresses
- leetcode Restore IP Addresses
- [LeetCode] Restore IP Addresses
- Leetcode: Restore IP Addresses
- [LeetCode] Restore IP Addresses
- R12.2 对于 R12.1 结构方面的变化
- 图算法总结1(图的遍历及应用、并查集)[代码没有写]
- DevExpress VCL v2011 vol 1.6 下载地址[收录]
- 关于java网络聊天程序的几种模式
- 很少人知道的JS调试方法
- leetcode:Restore IP Addresses
- Cocos2d-x 2.x 升级为 3.x 常见变化纪录
- UITextField 属性和代理事件
- 学习使用GTK+ 0.概述
- 题目1201:二叉排序树
- 负载均衡
- 数据库的备份和恢复
- 读取数组中字符的两种方式 for循环和foreach(数组相关)
- [C] 三字符序列