LeetCode 二叉樹的遍歷

2021-10-05 18:10:17 字數 1233 閱讀 3180

中序遍歷

後序遍歷

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 掌握層次遍歷模板 使用佇列 雙迴圈,可解決層次遍歷 求最大深...