如何解决Swift中的树递归
我正在查看一些递归树函数,但是对返回desactivar
有点困惑,返回测试是什么条件?
||
解决方法
return语句使用左子树和右子树递归调用search
函数。请注意,search
返回一个Bool
,指示树是否包含要搜索的值。
由于或运算符||
短路,只有在search
未能在菜单中找到该项目时,才搜索右边的子树。左子树。当搜索左子树返回true
时,search
立即返回true
而不搜索右子树。如果两个对search
的递归调用都返回false
,则搜索确实失败了,并且返回了false
(即false || false
是false
)。
因此,该return语句正在执行以下操作:
if searchValue is in the left subtree {
return true
} else if the searchValue is in the right subtree {
return true
} else {
return false
}
,
正在检查left
OR(||
)right
节点是否为nil
或data
等于searchValue
。如果这些条件之一满足,则返回true
。如果两者均为false
,则结果为false
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。