代码随想录训练营第二十八天 | *复原IP地址&&子集&&子集II
93.复原IP地址
文章:10. 复原IP地址
题目:93. 复原 IP 地址
【思路】
确定终止条件
IP一共有三个逗点,也就说明树的高度(深度)一共为3,那么当逗点为3时,前三个IP字段为合法字段,我们就需要对最后一个IP字段进行判断是否为合法ip字段,如果合法则说明当前整个路径path为 一个合法IP,添加入结果集即可。
Java实现
1 | class Solution { |
- Go实现
1 | var( |
78.子集
文章:11. 子集问题
题目:78. 子集
- Java实现
1 | class Solution { |
- Go实现
1 | func subsets(nums []int) [][]int { |
90.子集II
文章:13. 子集II
题目:90. 子集 II
- Java实现
1 | class Solution { |
- Go实现
1 | func subsetsWithDup(nums []int) [][]int { |
【算法总结】
- 复原IP地址:使用回溯方法,涉及到了对字符串的切割和添加等等,go的方法暂时理解了,但是java的方法是看不懂一点,期待后续的复盘!
- 子集:需要使用回溯方法,模板题,和之前不一样(添加的都是叶子节点)的是需要每次回溯的时候都添加节点,即添加树里面所有的节点。
- 子集II:需要使用回溯方法,和上题类似,但是需要去重,使用排序+if判断即可
【语言总结】
- Java
1 | //类型不一样,要new一个 |
- Go
1 | //值传递。地址被修改 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 林重笑!