• 1325. Delete Leaves With a Given Value


    Given a binary tree root and an integer target, delete all the leaf nodes with value target.

    Note that once you delete a leaf node with value targetif its parent node becomes a leaf node and has the value target, it should also be deleted (you need to continue doing that until you cannot).

    Example 1:

    Input: root = [1,2,3,2,null,2,4], target = 2
    Output: [1,null,3,null,4]
    Explanation: Leaf nodes in green with value (target = 2) are removed (Picture in left). 
    After removing, new nodes become leaf nodes with value (target = 2) (Picture in center).
    

    Example 2:

    Input: root = [1,3,3,3,2], target = 3
    Output: [1,3,null,null,2]
    

    Example 3:

    Input: root = [1,2,null,2,null,2], target = 2
    Output: [1]
    Explanation: Leaf nodes in green with value (target = 2) are removed at each step.
    

    Constraints:

    • The number of nodes in the tree is in the range [1, 3000].
    • 1 <= Node.val, target <= 1000

    题目:给定一个二叉树,将与给定target值相等的叶结点删除。注意,删除之后其父结点可能变为叶结点。

    思路:一看就是递归,从下网上删就完了。代码:

    1. /**
    2. * Definition for a binary tree node.
    3. * struct TreeNode {
    4. * int val;
    5. * TreeNode *left;
    6. * TreeNode *right;
    7. * TreeNode() : val(0), left(nullptr), right(nullptr) {}
    8. * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
    9. * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
    10. * };
    11. */
    12. class Solution {
    13. public:
    14. TreeNode* removeLeafNodes(TreeNode* root, int target) {
    15. if(!root) return NULL;
    16. root->left = removeLeafNodes(root->left, target);
    17. root->right = removeLeafNodes(root->right, target);
    18. if(!root->left && !root->right && root->val == target)
    19. return NULL;
    20. return root;
    21. }
    22. };

  • 相关阅读:
    c# Hashtable vs Dictionary
    es8316调试
    种草文案怎么写吸引人?纯干货
    [附源码]Python计算机毕业设计java高校社团管理系统
    2269. 找到一个数字的 K 美丽值
    Python 解释器和编译器
    基于Java的二手交易市场系统设计与实现
    Android 9.0 ~ 12 获取系统内存大小、存储空间大小
    【Redis】Lua脚本在Redis中的基本使用及其原子性保证原理
    协程简单上手(线程切换)
  • 原文地址:https://blog.csdn.net/qing2019/article/details/126383539