【python-leetcode107-树的宽度遍历】二叉树的层次遍历Ⅱ
发布时间:2020-12-20 09:54:51 所属栏目:Python 来源:网络整理
导读:问题描述: 给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如: 给定二叉树 ? [3,9,20,null,15,7] , 3 / 9 20 / 15 7 返回其自底向上的层次遍历为: [ [15,7],[9,20],[3]] # Definit
问题描述: 给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如: 3 / 9 20 / 15 7 返回其自底向上的层次遍历为: [ [15,7],[9,20],[3] ] # Definition for a binary tree node. # class TreeNode: def __init__(self,x): self.val = x self.left = None self.right = None class Solution: def levelOrderBottom(self,root: TreeNode) -> List[List[int]]: if not root: return [] stack=[root] res=[] while stack: tmp=[] for i in range(len(stack)): t=stack.pop(0) tmp.append(t.val) if t.left: stack.append(t.left) t.right: stack.append(t.right) res.insert(0,tmp) return res 与之前层次遍历一致,之后最后每次将tmp插入到res的首位即可。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |