LeetCode 二叉樹層次遍歷

2021-10-02 09:35:25 字數 1474 閱讀 2392

1. 給定乙個二叉樹,返回其按層次遍歷的節點值。 (即逐層地,從左到右訪問所有節點)。

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

3/ \

9  20

/  \

15   7

返回其層次遍歷結果:

[[3],

[9,20],

[15,7]

]

/**

* definition for a binary tree node.

* struct treenode

* };

*/class solution ;

vector> res;

queueq};

while(!q.empty())

res.push_back(temp);

}return res;

}};

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

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

3/ \

9  20

/  \

15   7

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

[[15,7],

[9,20],

[3]]

相比於1只需改變新增到結果陣列的方式,新增到vector的頭部即可。

/**

* definition for a binary tree node.

* struct treenode

* };

*/class solution ;

vector> res;

queueq};

while(!q.empty())

res.insert(res.begin(),temp);

}return res;

}};

3. 

給定乙個非空二叉樹, 返回乙個由每層節點平均值組成的陣列.

示例 1:

輸入:3

/ \9  20

/  \

15   7

輸出: [3, 14.5, 11]

解釋:第0層的平均值是 3,  第1層是 14.5, 第2層是 11. 因此返回 [3, 14.5, 11].

方法和1,2一樣

/**

* definition for a binary tree node.

* struct treenode

* };

*/class solution ;

vectorres;

queueq};

while(!q.empty())

res.push_back(sum / count);

}return res;

}};

Leetcode 層次遍歷二叉樹

給定乙個二叉樹,返回其節點值自底向上的層次遍歷。即按從葉子節點所在層到根節點所在的層,逐層從左向右遍歷 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回其自底向上的層次遍歷為 15,7 9,20 3 掌握層次遍歷模板 使用佇列 雙迴圈,可解決層次遍歷 求最大深...

leetcode 二叉樹 二叉樹的層次遍歷

給定乙個二叉樹,返回其按層次遍歷的節點值。即逐層地,從左到右訪問所有節點 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回其層次遍歷結果 3 9,20 15,7 方法一 遞迴 思路 比較訪問節點所在層次level和當前最高層次len levels 判定是否需...

LeetCode 二叉樹的層次遍歷

給定乙個二叉樹,返回其按層次遍歷的節點值。即逐層地,從左到右訪問所有節點 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回其層次遍歷結果 3 9,20 15,7 二叉樹層次遍歷 按照二叉樹的層次,從根節點所在的層,逐層進行遍歷。逐層遍歷時按照從左至右的順序。...