题解 | #二叉树的下一个结点#

二叉树的下一个结点

http://www.nowcoder.com/practice/9023a0c988684a53960365b889ceaf5e

''' 根据题意,采用中序遍历分两步: 1)若当前节点为根节点: pNode.right if p.left: p=p.left return p

2)若当前节点为叶子节点: pNode.next p=pNode.next if p.left==pNode: return p

'''

-- coding:utf-8 --

class TreeLinkNode:

def init(self, x):

self.val = x

self.left = None

self.right = None

self.next = None

class Solution: def GetNext(self, pNode): # write code here if not pNode: return pNode # 1、如果目标结点不是叶子结点 while pNode.right: p=pNode.right if p.left: p=p.left return p

    #2 如果目标节点是叶子节点
    while pNode.next:
        p=pNode.next
        if p.left==pNode:
            return p
        pNode=p
    
    
    
    
    
    
    
    
全部评论

相关推荐

03-26 12:00
已编辑
门头沟学院 Java
offer魅魔_oc...:100-200每天,你还要倒贴100
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务