我有一棵二叉树,我需要获取叶子和根之间的所有序列。
例如,对于这样的树
我需要得到序列:“ABD”、“ABE”、“AC”。
如何实施?谢谢。
伪代码:
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, "")