
DFS
Giotto_Ven
交大控制科学与工程研究生
展开
-
Python3-[38]面试题38.字符串的排列(全排列/递归)A
面试题38.字符串的排列题目解题思路1.变量:2.递归基:3.递归:代码题目输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。解题思路将string转换为charList得到nums再使用全排列的方法。在全排列之前,需要将nums进行排序。回溯问题:递归解决每次从nums列表中取出一个元素,如果该元素没有出现过则添加到路径中,层次+1;直到层次==len(nums),说明1条路径已搜索完,将路径添加到结果中,返回。1.变量:vis原创 2020-08-27 20:08:17 · 508 阅读 · 0 评论 -
Python3-[33]二叉树中和为某一值的路径(DFS)
二叉树中和为某一值的路径题目解题思路代码 --1.依次相减代码 --2.加辅助变量,依次相加扩展: 求从根节点到子节点的个数<2的末节点的和为sum的路径题目输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。说明: 叶子节点是指没有子节点的节点。解题思路1.用sums依次减去节点的值,直到叶子节点的值为sums2.设置辅助变量res,初始为0,一直加到叶子节点时,res+root.val==sums代码 --原创 2020-08-26 17:07:15 · 320 阅读 · 0 评论 -
Python3-[32]面试题33.二叉树的后序遍历序列(后序遍历/DFS)
面试题33.二叉树的后序遍历序列题目解题思路code1:使用索引的写法1code2:使用分片写法2题目输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。解题思路递归思路:依据二叉搜索树的DST后序遍历的性质找出数组中根节点的位置,左子树和右子树的位置在后序遍历得到的数组中,如[a,⋯ ,b,b+1,⋯ ,j−1,j][a,\cdots,b,b+1,\cdots,j-1,j][a,⋯,b,b+1,⋯,j原创 2020-08-26 15:33:24 · 323 阅读 · 0 评论