中序遍歷
後序遍歷
102.二叉樹的層序遍歷
輸入:
1/ \
2 3
/ \ \
4 5 6
輸出:1,2,3,4,5,6
class
solution
// 記錄上一層的答案
res.
push_back
(ans);}
return res;}}
;
144.二叉樹的前序遍歷
輸入:
1/ \
2 3
/ \ \
4 5 6
輸出:1,2,4,5,3,6
class
solution
return v;}}
;
94.二叉樹的中序遍歷
輸入:
1/ \
2 3
/ \ \
4 5 6
輸出:4,2,5,1,3,6
在這裡插入**片
class
solution
// 父節點:棧頂如果非空,從棧頂取出節點,記錄值
treenode* temp;if(
!s.empty()
)// 右節點:如果右節點非空,就更新cur,繼續左遞迴
if(temp-
>right !=
null)}
return v;}}
;
145.二叉樹的後序遍歷
輸入:
1/ \
2 3
/ \ \
4 5 6
輸出:4,5,2,6,3,1
在這裡插入**片
class
solution
// 如果s非空,取出棧頂元素if(
!s.empty()
)// 父節點:否則,說明該節點左右節點已訪問過,讀取值
else}}
return v;}}
;
leetcode 二叉樹 二叉樹的層次遍歷
給定乙個二叉樹,返回其按層次遍歷的節點值。即逐層地,從左到右訪問所有節點 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回其層次遍歷結果 3 9,20 15,7 方法一 遞迴 思路 比較訪問節點所在層次level和當前最高層次len levels 判定是否需...
LeetCode 二叉樹的遍歷
涉及的幾個類 stack 棧 是vector 的乙個子類 queue 佇列 stack st newstack 基本操作 st.pop 彈棧,返回彈出的元素 st.push 壓棧 st.peek 返回棧頂元素 用棧維護 佇列 queuequ new linkedlist qu.add 不可以增加nu...
Leetcode 層次遍歷二叉樹
給定乙個二叉樹,返回其節點值自底向上的層次遍歷。即按從葉子節點所在層到根節點所在的層,逐層從左向右遍歷 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回其自底向上的層次遍歷為 15,7 9,20 3 掌握層次遍歷模板 使用佇列 雙迴圈,可解決層次遍歷 求最大深...