已知二叉树的存储结构类型定义如下:typedef struct node{int data;struct node *lchil

已知二叉树的存储结构类型定义如下:
typedef struct node{
int data;
struct node *lchild, *rchild;
}BinNode;
typedef BinNode *BinTree;
编写递归算法,对于给定的一棵二叉树T,计算并返回所有结点data域的值之和。函数原型为:int f34(BinTree T);。例如,对于下图所示的二叉树T,f34(T)应返回24。


【正确答案】:参考程序如下。
int f34 (BinTree T)
{int leftSum=0,rightSum=0;
if(T==NULL) return 0;
else{
if(T-> lchild!=NULL)leftSum=f34(T-> lchild);
if(T-> rchild!=NULL)rightSum=f34(T-> rchild);
return leftSum+rightSum+T-> data;
}
}