递归返回值

        1
       / \
      2   3
     / \  /
            4   5 6
比如找3(在这里姑且认为结点序号和data值相同):

把根1传进来,1非空,3!=1
把1的左结点2传进来,2非空,2!=3

把2的左结点4传进来,4非空,4!=3

把4的左结点0传进来,0空,返回上一层4
把4的右结点0传进来,0空,返回上一层4
在这里4的左右子树遍历完毕,此层调用结束,返回上一层2

把2的右结点5传进来,5非空,5!=3
把5的左结点0传进来,0空,返回上一层5
把5的右结点0传进来,0空,返回上一层5
在这里5的左右子树遍历完毕,此层调用结束,返回上一层2
在这里2的左右子树遍历完毕,此层调用结束,返回上一层1

把1的右结点3传进来,3非空 3==3 返回r

你的问题之所以返回都是空,因为返回的值没有逐层返回来。每次调用FindBTS返回的值你并没有逐层返回来不是空才怪了呢!

转载于:https://www.cnblogs.com/yaowukonga/p/3444063.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值