农场主在观察他的牛群时,注意到牛群的数量分布具有特殊的规律。这些牛群的数量分布可以用一棵二叉搜索树表示,其中树中的每个节点表示一个牛群的数量。现在农场主想知道,是否存在两个牛群,它们的数量之和等于给定的整数 k。假设二叉搜索树中节点的值均唯一。
区块链毕设网qklbishe.com为您提供问题的解答
农场主在观察他的牛群时,注意到牛群的数量分布具有特殊的规律。这些牛群的数量分布可以用一棵二叉搜索树表示,其中树中的每个节点表示一个牛群的数量。现在农场主想知道,是否存在两个牛群,它们的数量之和等于给定的整数 k。假设二叉搜索树中节点的值均唯一。
//一种笨蛋的方法,先遍历所有节点并存于一个数组中,再通过操作数组来判断┭┮﹏┭┮
void Create(TreeNode* root, vector<int> &vec){
if(root == NULL)
return;
Create(root->left, vec);
vec.push_back(root->val);
Create(root->right, vec);
}
bool findTarget(TreeNode* root, int k) {
if(root == NULL)
return false;
if(root->left == NULL && root->right == NULL && root->val!=k)
return false;
vector<int> vec;
Create(root, vec);
int temp = 0;
for(int i = 0; i<vec.size();i++){
temp = k – vec[i];
for(int j = i+1; j<vec.size();j++){
if(vec[j] == temp)
return true;
}
}
return false;
}
05:35
以上就是关于问题农场主在观察他的牛群时,注意到牛群的数量分布具有特殊的规律。这些牛群的数量分布可以用一棵二叉搜索树表示,其中树中的每个节点表示一个牛群的数量。现在农场主想知道,是否存在两个牛群,它们的数量之和等于给定的整数 k。假设二叉搜索树中节点的值均唯一。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训