給定乙個二叉樹,返回其節點值自底向上的層次遍歷。 (即按從葉子節點所在層到根節點所在的層,逐層從左向右遍歷)
例如:給定二叉樹 [3,9,20,null,null,15,7],
3
/
9 20
/ 15 7
返回其自底向上的層次遍歷為:
[[15,7],
[9,20],
[3]]
/**
* definition for a binary tree node.
* struct treenode
* };
*///利用佇列來逐層遍歷二叉樹,count統計二叉樹中每一層的節點個數,
//用vector來儲存每一層節點,最後逆序
class
solution
}reverse
(res.
begin()
,res.
end())
;return res;}}
;
二叉樹反序列化:
#include
#include
#include
#include
using
namespace std;
struct treenode;}
;//利用佇列來反序列化,隊首為正在處理的父節點,i表示對應的子節點
treenode*
construct
(vector<
int> arr)
i++;if
(arr[i]==-
1) tmp-
>right=
nullptr
;else
i++;}
return root;
}void
preorder
(treenode* root)
intmain()
; treenode* root=
construct
(input)
;preorder
(root)
;}
107 二叉樹的層序遍歷 II
107.二叉樹的層序遍歷 ii 給你二叉樹的根節點root,返回其節點值自底向上的層序遍歷。即按從葉子節點所在層到根節點所在的層,逐層從左向右遍歷 示例 1 輸入 root 3,9,20,null,null,15,7 輸出 15,7 9,20 3 示例 2 輸入 root 1 輸出 1 示例 3 輸...
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...