題目:從上往下列印出二叉樹的每個節點,同層節點從左至右列印。
解題思路:建立乙個佇列,先將二叉樹的根節點放入佇列中,然後開始迴圈,只要佇列不為空,獲取佇列的第乙個元素,將其儲存為乙個節點tmp,,接著將其push_back到新陣列裡面,然後判斷其左孩子是否為空,若其不為空,將其push到佇列中,然後再繼續判斷其右孩子是否為空,若不為空,將其push到佇列中,然後將tmp結點pop.依次迴圈就完成了二叉樹的層次遍歷。**實現如下:
/*
struct treenode
};*/
class solution
return arr;
}};
測試結果就不測試了,牛客網已近測試過了!有興趣的可以測一下。 劍指offer 二叉樹層次遍歷(Python)
從上往下列印出二叉樹的每個節點,同層節點從左至右列印。借助佇列。從根節點開始,依次將節點入佇列,判斷是否有孩子節點,然後將孩子節點入佇列,同時將該節點出佇列。coding utf 8 class treenode def init self,x self.val x self.left none s...
劍指offer 二叉樹遍歷
deque佇列 deque佇列 給定一棵二叉搜尋樹,請找出其中第k大的節點。二叉搜尋樹本身就有規律 左子樹比根節點小,右子樹比根節點大 二叉搜尋樹的中序遍歷為 遞增序列 中序遍歷的倒序 判斷 defkthlargest self,root treenode,k int int defhelper r...
劍指offer 二叉樹的後序遍歷
思路 對於乙個二叉樹的後序遍歷序列來說,最後乙個數一定是根節點,然後前面的數中,從最開始到第乙個大於根節點的數都是左子樹中的數,而後面到倒數第二個數應該都是大於根節點的,是右子樹,如果後面的數中有小於根節點的,那麼說明這個序列不是二叉搜尋樹的後序遍歷序列。public class judgehoux...