50
/ \
30 70 (( which should return 50+70=120 ))
int MyFunction(struct node *root){
struct node *ptr=root;
int leftsum=0;
int rightsum=0;
if(ptr==NULL){
return;
}
else{
MyFunction(ptr->left);
leftsum=leftsum+ptr->key;
MyFunctipn(ptr->right);
rightsum=rightsum+ptr->key;
return (root->key+max(leftsum,rightsum));
}
}
Run Code Online (Sandbox Code Playgroud)
为此,我编写了这段代码。也许这是错误的,所以请帮助我,因为我是这个领域的新手。我想编写一个递归代码,比较两个叶节点(左和右)并将最大值返回给父节点。
class Parent {
int i = 60;
}
class Child extends Parent {
int i = 70;
}
class Main {
public static void main(String[] args) {
Child c = new Child();
Parent p = new Parent();
System.out.println((Parent c).i);
}
}
Run Code Online (Sandbox Code Playgroud)
这里我想借助类对象打印一个Parent类变量(即i = 60)Child.我怎样才能做到这一点?