#include <stdio.h>
#include <stdlib.h>
typedef struct bitree{
int weight;
struct bitree*left;
struct bitree*right;
}btnode,*bitree;
int WPLnum=0;
void preWPL(bitree root,int deep){
if(root->left==NULL&&root->right==NULL){
WPLnum+=root->weight*deep;
}
if(root->left!=NULL){
preWPL(root->left,deep+1);
}
if(root->right!=NULL){
preWPL(root->right,deep+1);
}
}
void WPL(bitree root){
int deep=0;
preWPL(root,deep);
}
int main(){
bitree T;
T=(bitree)malloc(sizeof(btnode));
T->weight=5;
bitree l;
l=(bitree)malloc(sizeof(btnode));
l->weight=10;
T->left=l;
bitree r;
r=(bitree)malloc(sizeof(btnode));
r->weight=10;
T->right=r;
l->left=NULL;
l->right=NULL;
r->left=NULL;
r->right=NULL;
WPL(T);
printf("%d",WPLnum);
}
2014年408数据结构算法真题c语言实现暴力解(带测试功能)
于 2023-03-29 10:00:57 首次发布