leetcode/notes/src/bstree.md

1.2 KiB

二叉搜索树

  • s0235: 找两个指定节点的最近公共祖先。思路很简单,只要出现分岔(即一个在当前节点的左边,一个在当前节点的右边),那么这个分岔点就是最近公共祖先。
  • s0701: 插入节点。一层一层往下找,直到发现找不到了就在这个地方插入。
  • s0450: 删除节点。递归删除。
  • s0669: 修剪 BST 。递归修剪。
  • s0108: 有序数组转 BST 。数组中点为根节点,中点左侧部分生成左子树,右侧部分生成右子树,递归。
  • s0538: BST 转累加树。可以找到每个节点的构建方法然后用直观一点的递归方式来写,不过本题有个特殊之处在于累加树的生成方式正好和反序中序遍历的遍历路径相同,因此可以用反序中序遍历来遍历生成。