美文网首页
二叉树的下一个结点

二叉树的下一个结点

作者: HellyCla | 来源:发表于2021-03-10 18:53 被阅读0次

题目描述

给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。

  • 数据结构:
 class TreeLinkNode:
     def __init__(self, x):
         self.val = x
         self.left = None
         self.right = None
         self.next = None next是指向父节点的
  • 解题思路:
    举例子总结可能遇到的情况:1)给定节点为某根节点,因为是中序遍历,因此只要关心右子树,只要右子树不为空,那就从右子树中找出最左下的节点,即第一个左孩子为空的节点;2)给定的节点为叶子节点,观察中序遍历规律可知,要找的是向上遍历第一个有左子树的节点;3)没有右子树的根节点,可以发现和第二种是同样的找法,还是要找到第一个有左子树的祖宗节点。

  • 解题代码:

class Solution:

    def GetNext(self, pNode):
        # write code here
        temp=pNode
        if temp.right:
            temp=temp.right
            while temp.left:
                temp=temp.left
            return temp
        else:
            last=temp.next
            while last is not None and last.left!=temp:
                temp=temp.next
                last=temp.next
            return last

相关文章

  • 25.二叉树的下一个结点

    按照中序排序,求二叉树的下一个结点。 分析下一个结点: (1)如果当前结点存在右结点, 那么它的下一个结点就是它的...

  • 008,二叉树的下一个节点

    二叉树的下一个结点 题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的...

  • JZ-057-二叉树的下一个结点

    二叉树的下一个结点 题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的...

  • 剑指offer | 二叉树的下一个结点

    二叉树的下一个结点 给定一棵二叉树和其中一个结点,如何找出中序遍历顺序的下一个结点树中的结点除了有两个分别指向左右...

  • 二叉树

    链表详解 用链表概念辅助理解二叉树,链表一个结点的后区指向下一个链表结点,前区指向上一个链表结点,线性结构。二叉树...

  • 面试题8:二叉树的下一个节点python

    题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点...

  • 二叉树的下一个节点

    给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包...

  • 二叉树的下一个结点

    题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点...

  • 二叉树的下一个结点

    题目 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,...

  • 剑指offer----二叉树中的下一个节点

    给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包...

网友评论

      本文标题:二叉树的下一个结点

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