树-二叉树中某个节点的下一个节点
来源:互联网 发布:中国网络神兽排 编辑:程序博客网 时间:2024/06/04 23:13
问题描述:
给定一个二叉树,查找某个节点的下一个节点
思考:略
代码(java):
public class FindNextNode {static class Node{private int val;private Node left;private Node right;private Node parent;public Node(int val) {this.val = val;}@Overridepublic String toString() {return val + "";} }public static Node findNextNode(Node thisNode){if (thisNode == null) {return null;}Node next = null;//1,节点有右子树,那么它的下一个节点就是它右子树最左节点if(thisNode.right != null){next = thisNode.right;while(next.left != null){next = next.left;}return next;}//2,节点没有右子树,他是父节点的左儿子,下一个节点就是父节点if(thisNode.right == null || thisNode.parent.left == thisNode){return thisNode.parent;}//3,,节点没有右子树,他是父节点的右儿子,那么使用parent指针知道找到一个节点,这个节点是它父亲的左节点,那么next为这个节点的父亲//next == null是找到根的时候,所以就没有下一个节点if(thisNode.right == null || thisNode.parent.right == thisNode){next = thisNode;while(next.parent.left != next || next != null){next = next.parent;}return next;}return next;}}
0 0
- 树-二叉树中某个节点的下一个节点
- 《程序员面试金典》--寻找二叉树中某个节点中序遍历的下一个节点
- 二叉树的下一个节点(中序)
- 找二叉树节点的下一个节点
- 二叉树的下一个节点
- 二叉树的下一个节点
- 二叉树的下一个节点
- 二叉树的下一个节点
- 二叉树的下一个节点
- 二叉树的下一个节点
- 二叉树的下一个节点
- 二叉树的下一个节点
- 二叉树的下一个节点
- 二叉树的下一个节点
- 二叉树的下一个节点
- 二叉树的下一个节点
- 打印二叉树中某个节点的所有父节点
- 找出二叉树中某个节点的所有祖先节点
- iOS-开发之 pch 文件的使用
- HTTP协议里的cookie和session
- Matlab GUIDE 控件使用总结
- 关于“抽象类是否可继承实体类”的辨析。
- AutoCAD 2010简体中文免激活版 v3.04绿色精简版
- 树-二叉树中某个节点的下一个节点
- oracle imp-000008错误的解决办法
- 如何实现炫酷的ArtLine
- 【剑指offer-Java版】02实现单例模式
- cisco路由器IPSECVPN之总部与一个分部通信配置
- Oracle 复合索引
- ceph存储 缓存淘汰算法--LRU算法
- Hibernate中的query.setFirstResult(),query.setMaxResults();
- LeetCode *** 304. Range Sum Query 2D - Immutable