java 二叉树(八)获取右子树中的最小节点
2016-07-06 18:47
225 查看
//获取右子树中的最小节点 public Node minRightNode(Node node){//传入参数为被删除节点的右孩子Node node if(node.getLeftChild()==null){ return null; } if(node.getLeftChild().getLeftChild()==null){ if(node.getLeftChild().getRightChild()!=null){ /* * 如果被删除的节点有右孩子,需要用被删除节点的父节点的左孩子指向被删除结点的右孩子, * 然后再把被删除节点的右孩子指向设为null,那么需要删除的节点就被删掉了 * 意思就是把 D 删除,把A指向C * A * / \ * D B * \ * C */ Node temp=node.getLeftChild(); node.setLeftChild(node.getLeftChild().getRightChild()); //node.getRightChild().setLeftChild(null); temp.setRightChild(null); return temp; } Node temp=node.getLeftChild(); node.setLeftChild(null); return temp; } return minRightNode(node.getLeftChild()); }
相关文章推荐
- [C/C++]反转链表
- AVL树-自平衡二叉查找树(Java实现)
- 书评:《算法之美( Algorithms to Live By )》
- 动易2006序列号破解算法公布
- C#数据结构之顺序表(SeqList)实例详解
- C#实现基于链表的内存记事本实例
- C#递归算法之分而治之策略
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- C#算法之大牛生小牛的问题高效解决方法
- Lua教程(七):数据结构详解
- 有关数据库SQL递归查询在不同数据库中的实现方法
- C#算法函数:获取一个字符串中的最大长度的数字
- C#模拟链表数据结构的实例解析
- 解析从源码分析常见的基于Array的数据结构动态扩容机制的详解
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#中的递归APS和CPS模式详解
- C#冒泡法排序算法实例分析