node*GetNode(node*r,int d)并不能找到右边结点,只能遍历左边结点在呢么办,该怎么解决
node*GetNode(node*r,int d)并不能找到右边结点,只能遍历左边结点在呢么办
node*GetNode(node*r,int d)
{
if(r)
{
if(r->data==d)return r;
return GetNode(r->left,d);
return GetNode(r->right,d);
}
return NULL;
}
------解决方案--------------------
node*GetNode(node*r,int d)
{
if(r)
{
if(r->data==d)return r;
return GetNode(r->left,d);
return GetNode(r->right,d);
}
return NULL;
}
------解决方案--------------------
- C/C++ code
node*GetNode(node*r,int d) { node*p = NULL; if(r) { if(r->data==d) { p = r; } else { p = GetNode(r->left,d); if(p==NULL) p = GetNode(r->right,d); } } return p; }