給定乙個二叉樹,返回其節點值自底向上的層次遍歷。 (即按從葉子節點所在層到根節點所在的層,逐層從左向右遍歷)
例如:給定二叉樹 [3,9,20,null,null,15,7],
3
/ \9 20
/ \
15 7
返回其自底向上的層次遍歷為:
[
[15,7],
[9,20],
[3]]
遞迴
class solution(object):
def levelorderbottom(self, root):
""":type root: treenode
:rtype: list[list[int]]
"""res=
def deep(root,deepth):
if not root:
return
if len(res)==deepth:
res.insert(0,)
deep(root.left,deepth+1)
deep(root.right,deepth+1)
deep(root,0)
return res
迭代
class solution:
def levelorderbottom(self, root: treenode) -> list[list[int]]:
from collections import deque
if not root: return
queue = deque()
res =
while queue:
tmp =
n = len(queue)
for _ in range(n):
node = queue.pop()
if node.left:
if node.right:
res.insert(0, tmp)
return res
二叉樹層次遍歷II
給定乙個二叉樹,返回其節點值自底向上的層次遍歷。即按從葉子節點所在層到根節點所在的層,逐層從左向右遍歷 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回其自底向上的層次遍歷為 15,7 9,20 3 definition for a binary tree ...
二叉樹的層次遍歷 II
給出一棵二叉樹,返回其節點值從底向上的層次序遍歷 按從葉節點所在層到根節點所在的層遍歷,然後逐層從左往右遍歷 您在真實的面試中是否遇到過這個題?yes 樣例給出一棵二叉樹,3 9 20 15 7按照從下往上的層次遍歷為 15,7 9,20 3 definition of treenode class...
二叉樹的層次遍歷 II
給出一棵二叉樹,返回其節點值從底向上的層次序遍歷 按從葉節點所在層到根節點所在的層遍歷,然後逐層從左往右遍歷 例1 輸入 輸出 2,3 1 解釋 1 2 3 它將被序列化為 層次遍歷例2 輸入 輸出 15,7 9,20 3 解釋 3 9 20 15 7 它將被序列化為 層次遍歷 definition...