2012-11-13 53 views
0

我有一個二叉樹,我需要獲取樹葉和根之間的所有序列。
例如,對於這樣的樹
tree獲取二叉樹中的所有序列

我需要獲得序列: 「ABD」, 「ABE」, 「交流」。
如何實現它?謝謝。

+0

你應該更精確地瞭解你真正想實現 – pjam

+0

@pjam:用戶希望從根節點到葉子 –

+0

所有可能的路徑我有一個二叉樹(不BST或二進制堆)。每個節點都包含一些值(上例中爲A,B,C ...)。因此,我需要得到像這樣的東西:String [leaves_count] seq = [「ABD」,「ABE」,「AC」]。感謝你的回答。 –

回答

1

僞代碼:

Function ProcessNode(TreeNode, ParentPath) 
    CurrentPath = Append(ParentPath, TreeNode.Name) 
    If IsNull(TreeNode.Left) And IsNull(TreeNode.Right) Then 
    Print(CurrentPath) 
    Else 
    If IsNotNull(TreeNode.Left) Then ProcessNode(TreeNode.Left, CurrentPath) 
    If IsNotNull(TreeNode.Right) Then ProcessNode(TreeNode.Right, CurrentPath) 


ProcessNode(Root, "") 
+0

謝謝,這是我需要的 –