經常會有面試官,讓你手撕二叉樹的前序、中序、後序遍歷,當你簡單得寫了遞迴的方法,前序和中序遍歷,解決方法類似,都是使用棧解決的。後序遍歷稍微複雜一點。
二叉樹前序遍歷
class
solution
p = stack.
pop();
p = p.right;
}return list;
}}
二叉樹中序遍歷
class
solution
p = stack.
pop(
); list.
add(p.val)
; p = p.right;
}return list;
}}
二叉樹後序遍歷
class
solution
arraylist
result =
newarraylist
<
>()
;for
(int i = list.
size()
-1; i >=
0; i--
) result.
add(list.
get(i));
return result;
}}
二叉樹 前序遍歷 中序遍歷 後序遍歷
前序遍歷 dlr 是二叉樹遍歷的一種,也叫做先跟遍歷,先序遍歷,前序周遊,可記做根左右。前序遍歷首先訪問根節點然後遍歷左子樹,最後遍歷右子樹。前序遍歷首先訪問根節點然後遍歷左子樹,最後遍歷右子樹。在遍歷左 右子樹時,仍然先訪問根節點,然後遍歷左子樹,最後遍歷右子樹。若二叉樹為空則結束返回,否則 1 ...
二叉樹前序中序後序的非遞迴遍歷
1前序遍歷 按照根左右的順序進行遍歷,首先訪問根節點,若左孩子非空,訪問左子樹 右孩子非空訪問右子樹。以此規則遍歷整個二叉樹 1 當前點入棧,輸出該節點 2 如當前節點左孩子非空,訪問該節點的左孩子回到 1 3 若當前節點左孩子為空,訪問該節點右孩子回到 1 stacks vectorres tre...
二叉樹前序,中序,後序遍歷詳解
只要是搞計算機的,對資料結構中二叉樹遍歷都不陌生,但是如果用到的機會不多那麼就會慢慢淡忘,溫故而之新才是最好的學習方式,現在就重新溫習一下這方面的知識。首先我想先改變這幾個遍歷的名字 前根序遍歷,中根序遍歷,後根序遍歷 前中後本來就是相對於根結點來說的,少乙個字會產生很多不必要的誤解。1.前根序遍歷...