- 博客(4)
- 收藏
- 关注
原创 代码随想录-回溯法
用递归控制for循环嵌套的数量。回溯问题的搜索过程:for循环横向遍历,递归纵向遍历,回溯不断调整结果集。给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。常规操作。可以采取的剪枝优化方法就是i不小于n,而是i < n - (k - path.size())。比如n = 4, k = 4的时候,for循环的时候从元素2开始遍历就没有意义了。2.找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。
2023-09-12 16:49:12
199
原创 代码随想录-二叉树
如果在递归过程中出现左子树的高度与右子树高度之差大于1的话,就返回-1,否则的话就返回1+max(左子树高度,右子树高度)。先求左子树的左叶子之和,再求右子树的左叶子之和,再加上通过根结点判断的左叶子的值,就可得到最终的值。左叶子的判断逻辑为:结点A的左孩子结点B不为空,且结点B的左孩子和右孩子都为空,则结点B为左叶子结点。左右孩子都不为空,把左孩子移到以右孩子为根结点的子树的最左叶子结点的下面。递归函数传入两棵树的根节点,递归终止的条件就是如果t1为空,就返回t2,如果t2为空,就返回t1。
2023-08-29 22:21:52
98
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人