Leetcode3 螺旋矩阵,复原IP地址、子集、子集II(重制
我干! 我写完了但是B站没有给我自动保存啊!
所以只总结下最后的两题,不想重新写一遍了...
重新写一遍真可恶啊bilibili!
子集、子集II
子集I就是一个从左到右的尝试问题,分成取和不取两种情况,核心代码如下:
但是子集II中,需要考虑剪枝,因为第二题中存在重复的元素,但是需要排除重复的子集。我们采取和前面类似的想法,通过将元素排序,将重复的元素相邻,这样的就可以快速跳过。因为这个是分成取和不取两种情况,具体的递归树如下:

当B=C时,AC子树就不需要出现了,直接return,然后就会走A的右子树,然后最终会出现AD A这样的结果。其他的子树我就没画了,差不多的思路。
具体的代码如下:
然后还原IP地址可以使用剩余的字符串长度判断均分给剩余的分割。因为每个字串最多三个字符,通过这样的方式可以减掉很多没有必要的分支