zoukankan      html  css  js  c++  java
  • [学习记录]二叉树删除

    二叉树删除涉及到多种情况,需要逐个处理

    1.当前节点为叶子节点

      直接删除

    2.当前节点右子树为空

      复制左子树中最大的值,用该值替代当前节点,删除左子树中原节点。

    3.当前节点右子树不为空

      复制右子树中最小的值,用该值替代当前节点,删除右子树中原节点。

    总结

      1.如果二叉树中存在大于等于或小于等于的关系,则需要根据情况选择是用右还是左,如果是严格大于小于的话左右都一样。

      2.由于替换节点时,对于被提拔的节点来说,原本的位置的处理和删除类似,因此可以将这个操作抽象出来,从而递归调用

      

  • 相关阅读:
    react学习笔记一
    获取客户端时间差
    ts
    Linux学习笔记
    vuex 基本使用
    SQL入门
    ios 中倒计时计算,时间戳为NaN
    git归纳总结
    JS原型对象
    vue笔记
  • 原文地址:https://www.cnblogs.com/trickofjoker/p/10504944.html
Copyright © 2011-2022 走看看