C++11 如何在C++; 我有以下C++结构< /P> struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} };
我有一个函数,如果TreeNode的子树不包含值1,则将其子树设置为nullC++11 如何在C++; 我有以下C++结构< /P> struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} };,c++11,pointers,self-reference,C++11,Pointers,Self Reference,我有一个函数,如果TreeNode的子树不包含值1,则将其子树设置为null bool modify(TreeNode *root) { if(root==NULL) return false; if(root->val!=1) { bool l = modify(root->left); bool r = modify(root->right); if(l||r) { return tru
bool modify(TreeNode *root)
{
if(root==NULL)
return false;
if(root->val!=1)
{
bool l = modify(root->left);
bool r = modify(root->right);
if(l||r)
{
return true;
}
else
{
root = NULL;
return false;
}
}
else
return true;
}
如何通过引用传递TreeNode*root,以便保存在
modify()
中所做的修改?就像您对任何其他类型所做的修改一样,在正确的位置添加一个符号(&
)。如果你大声说出你想要的:指向TreeNode
的指针的引用,你很容易知道在哪里添加它。如果你从右向左写,你会把它写对的。谢谢,Modify(TreeNode*&root)工作了,我的代码中有一个错误,这就是为什么它看起来不工作的原因。