摘要:
一、题目 1、审题 2、分析 给出一棵二叉树,判断其是否是一棵二叉平衡树。 二、解答 1、思路: 方法一、 采用递归; 每次获取 root 结点的左子树、右子树的高度,比较高度差是否小于等于 1; 同时判断左子树、右子树是否也是二叉平衡树。 方法二、 采用深度优先遍历的方式获取深度,并且获取时比较该 阅读全文
摘要:
一、题目 1、审题 2、分析 给出一个数值有序的链表,将这个链表的节点组成一个二叉平衡树。 二、解答 1、思路: 采用的是二分查找的思想,利用递归进行实现。 技巧:利用两个指针, slow 每次向前移动一个单位,fast 每次向前移动两个单位,当 fast 为空 或 fast 为要查找的元素时,此时 阅读全文
摘要:
一、题目 1、审题 2、分析 给出一个有序的不重复的整形数组,组成一个二路平衡二叉树(左右子树高度差不超过1)。 二、解答 1、思路: 方法一、 采用递归的方式。(像二分查找) ①、为了保持平衡,查找数组的下标中间的数 nums[mid],作为 root; ②、(0, mid - 1) 作为 roo 阅读全文
摘要:
一、题目 1、审题 2、分析 给出一个二叉树,从下往上输出每一层的节点值。 二、解答 1、思路: 方法一、BFS 利用一个队列进行层次遍历,同时 List 进行插入时,利用 add(index, val) 方法, index 指定插入的 List 的下标。 方法二、DFS 采用递归进行层次遍历,从上 阅读全文
摘要:
一、题目 1、审题 2、分析 给出一个不含有重复节点值的二叉树的中序、后序遍历序列,求原二叉树的序列。 二、解答 1、思路: 方法一、 采用递归的方式还原二叉树。 ①、后序遍历的末尾节点为 root 节点,root 节点值在 中序遍历中的节点下标为 inIndex; ②、则中序遍历的 (0, inI 阅读全文