首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

node*GetNode(node*r,int d)并不能找到右边结点,只能遍历左边结点在呢么办,该怎么解决

2012-03-27 
node*GetNode(node*r,int d)并不能找到右边结点,只能遍历左边结点在呢么办node*GetNode(node*r,int d){if(

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;
}

[解决办法]

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;} 

热点排行