美文网首页
二叉树的应用

二叉树的应用

作者: shoulda | 来源:发表于2018-07-16 20:14 被阅读0次
    ****题目
    该结构比普通二叉树节点结构多了一个指向父节点的parent指针。 假设有一
    棵Node类型的节点组成的二叉树, 树中每个节点的parent指针都正确地指向
    自己的父节点, 头节点的parent指向null。 只给一个在二叉树中的某个节点
    node, 请实现返回node的后继节点的函数。 在二叉树的中序遍历的序列中,
    node的下一个节点叫作node的后继节点。
    
    
    //主要分为两个分支
    //1.该节点有右子树
    //2.该节点没有右子树
    //主要函数
    public static Node getNextNode(Node node) {
            if (node == null) {
                return node;
            }
            if (node.right != null) {
                return getLeftMost(node.right);
            } else {
                Node parent = node.parent;
                while (parent != null && parent.left != node) {
                    node = parent;
                    parent = node.parent;
                }
                return parent;
            }
        }
    
    
    public static Node getLeftMost(Node node) {
            if (node == null) {
                return node;
            }
            while (node.left != null) {
                node = node.left;
            }
            return node;
        }
    

    相关文章

      网友评论

          本文标题:二叉树的应用

          本文链接:https://www.haomeiwen.com/subject/eoibpftx.html