gpt4 book ai didi

c++ - 检查两个节点在子节点上是否具有相同状态的更优雅的方法

转载 作者:行者123 更新时间:2023-11-30 02:18:03 26 4
gpt4 key购买 nike

我正在编写一个简单的程序来创建一个带有节点的二叉树。我对代码没有问题,我只是想知道是否可以将我的代码缩短为优雅美观的代码

目前我有:

//helper function for overloaded ==
//checks to see if both nodes in Binary Trees have the same children nodes
//filled. If not, due to preconditions, they would not be equal

if ((root->left == nullptr && compare->left != nullptr)
|| (root->left != nullptr && compare->left == nullptr)
|| (root->right == nullptr && compare->right != nullptr)
|| (root->right != nullptr && compare->right == nullptr))
{
return false;
}

我能想到的唯一其他方法是将其分解为多个 if 语句。你有什么建议吗?

最佳答案

这个更短,可能更容易阅读:

if ((root->left == nullptr) != (compare->left == nullptr)
|| (root->right == nullptr) != (compare->right == nullptr))
{
return false
}

关于c++ - 检查两个节点在子节点上是否具有相同状态的更优雅的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52790115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com