leetcode 不需要delete内存,项目中切记赋值NULL前delete
class Solution {
public:
void dfs(TreeNode** now,int target){
if((*now)->left != NULL) dfs(&((*now)->left),target);
if((*now)->right != NULL) dfs(&((*now)->right),target);
if((*now)->left == NULL && (*now)->right == NULL && (*now)->val == target){
*now = NULL;
}
}
TreeNode* removeLeafNodes(TreeNode* root, int target) {
if(root == NULL) return NULL;
dfs(&root,target);
return root;
}
};
本文分享了在LeetCode上解决删除二叉树叶子节点问题的C++代码实现。通过深度优先搜索(DFS)遍历树结构,当遇到叶子节点且其值等于目标值时,将该节点设置为NULL,实现叶子节点的移除。代码展示了如何递归地检查左子树和右子树,并在适当条件下更新根节点。

被折叠的 条评论
为什么被折叠?



