加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

【python-树的宽度遍历】二叉树的反向层次遍历

发布时间:2020-12-20 09:54:44 所属栏目:Python 来源:网络整理
导读:问题描述: 给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从右到左访问所有节点)。 例如: 给定二叉树:?[3,9,20,null,15,7], 3 / 9 20 ? ? / ? 15 7 返回其层次遍历结果: [ [3], [20,9], [7,15] ] class TreeNode: def __init__ (self,x,le

问题描述:

给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从右到左访问所有节点)。

例如:
给定二叉树:?[3,9,20,null,15,7],

3
/
9 20
? ? /
? 15 7
返回其层次遍历结果:

[
[3],
[20,9],
[7,15]
]

class TreeNode:
    def __init__(self,x,left=None,right=None):
        self.val=x
        self.left=left
        self.right=right
        
t5=TreeNode(7)
t4=TreeNode(15)
t3=TreeNode(20,t4,t5)
t2=TreeNode(9)
root=TreeNode(3,t2,t3)

def reversedlevelOrder(root):
    stack=[root]
    res=[]
    while stack:
        tmp=[]
        for i in range(len(stack)):
            t=stack.pop(0)
            tmp.append(t.val)
            if t.right:
                stack.append(t.right)
             t.left:
                stack.append(t.left)
        res.append(tmp)
    return res
    
print(reversedlevelOrder(root))

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读