微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift中的树递归

如何解决Swift中的树递归

我正在查看一些递归树函数,但是对返回desactivar有点困惑,返回测试是什么条件?

||

解决方法

return语句使用左子树和右子树递归调用search函数。请注意,search返回一个Bool,指示树是否包含要搜索的值。

由于运算符|| 短路,只有在search未能在菜单中找到该项目时,才搜索右边的子树。左子树。当搜索左子树返回true时,search立即返回true而不搜索右子树。如果两个对search的递归调用都返回false,则搜索确实失败了,并且返回了false(即false || falsefalse)。

因此,该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节点是否为nildata等于searchValue。如果这些条件之一满足,则返回true。如果两者均为false,则结果为false

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。