《剑指offer2》问题8 二叉树的下一个节点 Java实现
来源:互联网 发布:虚拟机网络连接不上 编辑:程序博客网 时间:2024/06/14 01:31
题目来源:剑指offer
给定一个二叉树和其中一个节点,如何找出中序遍历序列的下一个节点?书中的节点除了有两个分别指向左右的指针,还有一个指向父节点的指针
思路:见程序(剑指offer)
/** * 1.如果该节点的右孩子不为空,则下一个节点位右孩子的最左子孙 * 2.如果该节点的有孩子为空,并且为父亲的左孩子,则中序遍历的下一个节点为父亲 * 3.如果该节点的右孩子节点为空,并且是父亲节点的有孩子,该情况中序遍历的下一个节点是向上寻找第一个节点是其父节点的左节点的节点 * @author ld851 */public class J_shuDxiaJiedian { public TreeNode getNext(TreeNode node){ if (node==null) return null; TreeNode n=new TreeNode();// if (node.right!=null){ n=node.right; while (n.left!=null) n=n.left; //return n; } else if (node.parent!=null){ TreeNode pa=node.parent; TreeNode current=node; while(pa!=null&¤t==pa.right){//如果是pa为空退出条件也就是,没有上边没有节点市父节点的做节,返回pa为空 current=pa; pa=pa.parent; } n=pa; } return n }}
阅读全文
0 0
- 《剑指offer2》问题8 二叉树的下一个节点 Java实现
- 二叉树的下一个节点(Java实现)
- 剑指offer面试题58 二叉树的下一个节点(Java实现)
- 剑指Offer--二叉树的下一个节点
- 《剑指offer》二叉树的下一个节点
- 剑指offer-二叉树的下一个节点
- 剑指offer58二叉树的下一个节点
- 剑指offer--二叉树的下一个节点
- 剑指offer-二叉树的下一个节点
- 剑指offer_二叉树的下一个节点
- 【剑指offer】二叉树的下一个节点
- 剑指offer --- 二叉树的下一个节点
- 【剑指offer】面试题 8:二叉树的下一个节点
- 【剑指offer】面试题8:二叉树的下一个节点
- 剑指Offer-8:二叉树的下一个节点
- 二叉树的下一个节点
- 二叉树的下一个节点
- 二叉树的下一个节点
- 数字游戏
- JVM系列一:JVM内存组成及分配
- 记录开博
- 【Linux学习笔记】3:目录与文件处理命令
- 实用的php文件操作类
- 《剑指offer2》问题8 二叉树的下一个节点 Java实现
- 02-1 Js的基础语法(1)
- ROS学习笔记1
- 编译、链接学习笔记(三)静态链接
- 小程序for循环对象
- java EE配置文件模版
- (链表进阶)谈一谈各类算法和数据结构的c++实现以及相关操作的复杂度(三)
- KHL 005 11-计算机-本职-前台 CSS3 动画
- 一个给 Java 程序员用的 Api 文档生成工具