107 二叉樹的層次遍歷 II

2021-09-25 12:59:31 字數 1081 閱讀 2318

給定乙個二叉樹,返回其節點值自底向上的層次遍歷。 (即按從葉子節點所在層到根節點所在的層,逐層從左向右遍歷)

例如:給定二叉樹[3,9,20,null,null,15,7],

3

/ \ 9

20/ \

157

返回其自底向上的層次遍歷為:

[[15

,7],

[9,20

],[3

]]

這個遍歷與普通的層次遍歷差別在與需要返回的值的順序是相反的,我的思路是先得到最大深度,然後遞減去賦值.

public list

>

levelorderbottom

(treenode root)

levelorderbottom

(root, depth, result)

;return result;

}private

intmaxdepth

(treenode node)

int leftdepth =

maxdepth

(node.left)

;int rightdepth =

maxdepth

(node.right)

;return leftdepth >= rightdepth ? leftdepth +

1: rightdepth +1;

}private

void

levelorderbottom

(treenode node,

int depth, list

> list)

list.

get(depth-1)

.add

(node.val)

;levelorderbottom

(node.left,depth-

1,list)

;levelorderbottom

(node.right,depth-

1,list)

;}

107 二叉樹的層次遍歷 ii

給定乙個二叉樹,返回其節點值自底向上的層次遍歷。即按從葉子節點所在層到根節點所在的層,逐層從左向右遍歷 例如 給定二叉樹 3,9,20,null,null,15,7 判斷當前節點的層數 是否大於 result中的列表數 if layer len result 若是 則在result的前部增加乙個列表...

107 二叉樹的層次遍歷 II

給定乙個二叉樹,返回其節點值自底向上的層次遍歷。即按從葉子節點所在層到根節點所在的層,逐層從左向右遍歷 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回其自底向上的層次遍歷為 15,7 9,20 3 解法一 definition for a binary tr...

107二叉樹的層次遍歷II

給定乙個二叉樹,返回其節點值自底向上的層次遍歷。即按從葉子節點所在層到根節點所在的層,逐層從左向右遍歷 還是層次遍歷的寫法,遞迴非遞迴都可。最後用collections.reverse 翻轉list,或者在建立鍊錶時用linkedlist,用addfirst的api,每次都在首部增加list。pub...