leetcode107二叉樹層序遍歷自下向上

2021-10-25 02:57:50 字數 800 閱讀 1544

class

solution

vec.

push_back

(a);

a.clear()

;}reverse

(vec.

begin()

,vec.

end())

;return vec;}}

;

思路二: 深度優先搜尋

首先計算樹的高度depth

然後在vector開depth個vector

從樹根開始遍歷,因為要從樹底層開始輸出,所以要存的答案depth-1開始存.(因為先遍歷樹根節點,所以陣列從後往前存)

寫法一:

/*** definition for a binary tree node.

* struct treenode

* };

*/class

solution

intgetheight

(treenode* root )

void

dfs(treenode* root,

int dep)};

寫法二:

intdepth

(treenode*root)

void

dfs(vectorint>>

&res,

int n, treenode* root)

vectorint>>

levelorderbottom

(treenode* root)

leetcode 107二叉樹的層序遍歷

給定乙個二叉樹,返回其節點值自底向上的層次遍歷。即按從葉子節點所在層到根節點所在的層,逐層從左向右遍歷 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回其自底向上的層次遍歷為 15,7 9,20 3 方法1 佇列和map,一開始想的是使用map,key存放l...

leetcode107,二叉樹的層序遍歷

給定乙個二叉樹,返回其節點值自底向上的層次遍歷。即按從葉子節點所在層到根節點所在的層,逐層從左向右遍歷 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回其自底向上的層次遍歷為 15,7 9,20 3 求出二叉樹的深度,由此來初始化vector。使用queue...

LeetCode 107 二叉樹的層序遍歷II

1 題目描述 2 思路 方式1 層序遍歷需要使用佇列,每次讓根節點入隊,然後出隊,和102題差不多,不過最後需要反轉一下。方式2 新增到集合中時,每次從頭部新增 3 實現 1 node節點類 public class node 2 二叉樹類solution class solution public...