我正在写一个递归函数,它打印出二叉树的叶节点。 这是我到目前为止所做的:
public static void printLeafNodes(BinaryNode<AnyType> t)
{
if(t == NULL)
return;
if(t.left == NULL && t.right==NULL)
System.out.println(t.element);
else if(t.left != NULL && t.right == NULL)
printLeafNodes(t.left);
else
printLeafNodes(t.right);
}
如果有人可以查明我逻辑中的任何流程,我将非常感激。
感谢。
答案 0 :(得分:9)
public static void printLeafNodes(BinaryNode<AnyType> t)
{
if(t == NULL)
return;
if(t.left == NULL && t.right==NULL)
System.out.println(t.element);
printLeafNodes(t.left);
printLeafNodes(t.right);
}