回溯

概念

回溯就是带约束条件,会退回的DFS:

从一道题入手

退回指的是,比如对称的出现path.add, path.pollLast

      def dfs(self,root):
            if not root:
                return
            path.append(root.val)

            self.dfs(root=root.left)
            self.dfs(root=root.right)
            path.pop()

257. 二叉树的所有路径 - 力扣(LeetCode)

这里直接用一道题入手(这题比较简单容易理解):

力扣

代码随想录

对于这道题,当k=2,for循环有两重,当k = 100, for循环就有100重,那这还怎么暴力法求解?就要用到回溯,回溯就能解决for循环嵌套 

你可能感兴趣的:(算法,深度优先,算法)