我有一个二叉树和一个最长路径大小(直径)的方法:
int diameter(struct node * tree)
{
if (tree == 0)
return 0;
int lheight = height(tree->left);
int rheight = height(tree->right);
int ldiameter = diameter(tree->left);
int rdiameter = diameter(tree->right);
return max(lheight + rheight + 1, max(ldiameter, rdiameter));
}
我希望该函数还返回确切的路径(直径的所有节点的列表)。我该怎么做?
谢谢