本文主要是介绍1273. 删除树节点;2786. 访问数组中的位置使分数最大;889. 根据前序和后序遍历构造二叉树,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1273. 删除树节点
核心思想:递归,从根节点出发,枚举父节点的子节点,如果它们的值加起来为0的话就把父亲的节点删除后剩余的数置为0,默认返回一个节点,del_remain保存的是,del_remain[x]表示完成删除操作后以x节点为父节点剩余的节点个数。
2786. 访问数组中的位置使分数最大
核心思想:记忆化搜索,枚举第i个数选或不选,并用0,1标记上一个数的奇偶性,这种做法比dp好理解一点。
889. 根据前序和后序遍历构造二叉树
核心思想:递归,遇到二叉树的问题尽量按照,复杂问题分解的方法来做,首先构造根节点,然后构造左子树,构造右子树,把三部分连接。构造左子树,构造右子树又可以分解为构造根节点+构造左右子树,从而解决这一问题,然后关键就在于找根节点,根节点pre[0],然后如何递归左子树,找到pre[1]在pos中的下标即可找到左子树的长度,从而分解出左右子树。
这篇关于1273. 删除树节点;2786. 访问数组中的位置使分数最大;889. 根据前序和后序遍历构造二叉树的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!