本文主要是介绍1372. 二叉树中的最长交错路径;1042. 不邻接植花;2385. 感染二叉树需要的总时间,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1372. 二叉树中的最长交错路径
核心思想:递归。对于一个子节点,如果它是右子树,那么它往右走等于它父节点左边的长度+1,否则就重新开始,然后维护最大值即可,感觉这里用语言不好描述,借鉴一下别人的图。
1042. 不邻接植花
核心思想:就是枚举每一个花园,然后看与它相连的花园,且将已经选过的花的种类去除,然后从剩下的种类中选择一种即可,然后如何枚举花园,我们可以预先处理好花园的相邻花园。
2385. 感染二叉树需要的总时间
核心思想:BFS。类似于水源扩散,首先我们将扩散点放入q中,然后扩散它的父亲节点,扩散它的儿子节点,每枚举一层temp时间就+1,代表了时间。扩散父节点需要我们需要处理好每个节点的父节点是谁,这里我们用dfs来寻找。然后BFS中有一个小细节就是先在seen中放一个None,避免出现节点不存在的情况。
这篇关于1372. 二叉树中的最长交错路径;1042. 不邻接植花;2385. 感染二叉树需要的总时间的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!