93.复原IP地址
随想录文字讲解:代码随想录 (programmercarl.com)
随想录视频讲解:回溯算法如何分割字符串并判断是合法IP?| LeetCode:93.复原IP地址_哔哩哔哩_bilibili
状态:做出来了
与昨天的分隔子串很像。要点在于如何分割ip串,终止条件(有三个点后判断最后一段是不是地址),如何判断是不是地址,在s串本身上操作很方便。
78.子集
随想录文字讲解:代码随想录 (programmercarl.com)
随想录视频讲解:回溯算法解决子集问题,树上节点都是目标集和! | LeetCode:78.子集_哔哩哔哩_bilibili
状态:做出来了
子集里面的元素是无序的,{2,1}和{1,2}是一样的,所以for循环从startindex开始。若是有序就从0开始。而且这道题收集的是树上的叶子节点,每个都要收集,别忘了空集。
90.子集II
随想录文字讲解:代码随想录 (programmercarl.com)
随想录视频讲解:回溯算法解决子集问题,如何去重?| LeetCode:90.子集II_哔哩哔哩_bilibili
状态:做出来了
是去重和子集的一道复合题。注意去重的简便方法有用startindex和used数组两种,当递归时为i+1都可以用,递归时传递i则只能用used数组(为了跳过已入栈的元素)
用 if(i>startindex&&nums[i]==nums[i-1]) continue;可判断同一层相同元素是否被用过