我想在二叉搜索树中找出空白节点。 为此,我使用了递归。以下是我的代码:
function getNullNode($catid){
$sql = "select * from `mlm_reg` where `key` ='".$catid."'";
$result = mysql_query($sql);
$getnnum = mysql_num_rows($result);
while($fetchCat = mysql_fetch_object($result)){
if(count($fetchCat) < 2){
$newId = $catid;
return $newId;
} else {
getNullNode($fetchCat->mlm_id);
}
}
}
mlm_id是用户ID和密钥=引用ID,但它给了我空白值 注意:父母只能创建两个孩子 示例:假设admin创建两个子a,b并且如果他想要添加第三个子,那么它将在b或c下添加,所以为此我正在搜索只有1或0个子节点的空节点或父节点,如果b和c都有两个/两个孩子然后它将搜索他们。
但上面的代码不会给我父母ID可以有人看到这个问题。 我做错了什么
答案 0 :(得分:0)
function getNullNode($catid){
$sql = '';
$result = '';
$getnnum = '';
$fetchCat = '';
$sql = "select * from `mlm_reg` where `key` ='".$catid."'";
$result = mysql_query($sql);
$getnnum = mysql_num_rows($result);
if($getnnum < 2){
return $catid;
} else {
while($fetchCat = mysql_fetch_object($result)){
return getNullNode($fetchCat->mlm_id);
}
}
}