![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
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 · 370 阅读 · 0 评论 -
Python3-[33]二叉树中和为某一值的路径(DFS)
二叉树中和为某一值的路径题目解题思路代码 --1.依次相减代码 --2.加辅助变量,依次相加扩展: 求从根节点到子节点的个数<2的末节点的和为sum的路径 题目 输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。 说明: 叶子节点是指没有子节点的节点。 解题思路 1.用sums依次减去节点的值,直到叶子节点的值为sums 2.设置辅助变量res,初始为0,一直加到叶子节点时,res+root.val==sums 代码 --原创 2020-08-26 17:07:15 · 168 阅读 · 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 · 162 阅读 · 0 评论