12/05/06 01:26:07.38
>>105
int bintree_sum(struct bintree *root)
{
struct bintree *p, *r_last;
int sum=0;
for(r_last=root;r_last->right;r_last=r_last->right)
;
for(p=root;p;p=p->right)
{
sum+=p->val;
if(p->left)
{
r_last->right=p->left;
for(;r_last->right;r_last=r_last->right)
;
p->left=NULL;
}
}
return sum;
}