二叉树的直径 二叉树的直径 方法一:递归 在计算当前二叉树的最大深度时,可以先递归计算出其左子树和右子树的最大深度,然后在 O(1) 时间内计算出当前二叉树
二叉树的中序遍历 二叉树的中序遍历 方法一:递归 定义 inorder(root) 表示当前遍历到 root 节点的答案,那么按照定义,我们只要递归调用 inorder(root.left) 来遍历 root 节点的左子树,然后将 root
二叉树的最大深度 二叉树的最大深度 方法一:深度优先搜索 在计算当前二叉树的最大深度时,可以先递归计算出其左子树和右子树的最大深度,然后在 O(1) 时间内
翻转二叉树 翻转二叉树 方法一:递归 在计算当前二叉树的最大深度时,可以先递归计算出其左子树和右子树的最大深度,然后在 O(1) 时间内计算出当前二叉树的最
为什么需要复杂度分析? 测试结果非常依赖测试环境 测试结果受数据规模的影响很大 所以,我们需要一个不用具体的测试数据来测试,就可以粗略地估计算法的
环形链表 环形链表 方法一:哈希表 使用哈希表来存储所有已经访问过的节点。每次我们到达一个节点,如果该节点已经存在于哈希表中,则说明该链表是环形链