題目:
題解:
- 思路:利用樹的後序遍歷(左右根),由下至上、由左至右的刪除值爲target的葉子節點
代碼如下:
class Solution {
public:
TreeNode* removeLeafNodes(TreeNode* root, int target) {
return dfs(root,target);
}
//利用樹的後序遍歷(左右根),由下至上、由左至右的刪除值爲target的葉子節點
TreeNode* dfs(TreeNode* &root,int target){
if(!root)return nullptr;
root->left=dfs(root->left,target);
root->right=dfs(root->right,target);
if(!root->left&&!root->right&&root->val==target)return nullptr;
return root;
}
};