• 【LeetCode】【剑指offer】【二叉树中和为某一值的路径】


    剑指 Offer 34. 二叉树中和为某一值的路径

    给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。

    叶子节点 是指没有子节点的节点。

    示例 1:

     

    输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22
    输出:[[5,4,11,2],[5,8,4,5]]
    示例 2:

     

    输入:root = [1,2,3], targetSum = 5
    输出:[]
    示例 3:

    输入:root = [1,2], targetSum = 0
    输出:[]

    来源:力扣(LeetCode
    链接:https://leetcode.cn/problems/er-cha-shu-zhong-he-wei-mou-yi-zhi-de-lu-jing-lcof
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 

    对于这道题,我们需要采用回溯的方法,使用深度优先遍历二叉树。使用一个辅助容器tmp来记录我们这一路上的所有经过的元素,并且用target减去我们每一次入栈的数据,表示我们还需要多少才能够匹配上我们的target。

    无论我们当前的路径匹配成功与否,我们在匹配下一个路径的时候我们都需要将当前结点的元素也就是我们tmp中的最后一个元素删掉,然后再进入下一个分支进行计算(回溯)。

     

     

    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. vector<int> tmp;
    15. vectorint>> result;
    16. vectorint>> pathSum(TreeNode* root, int target) {
    17. sum(root,target);
    18. return result;
    19. }
    20. void sum(TreeNode*root,int target)
    21. {
    22. if(root==nullptr)
    23. {
    24. return;
    25. }
    26. tmp.push_back(root->val);
    27. target=target-root->val;
    28. if(root->left==nullptr&&root->right==nullptr&&target==0)
    29. {
    30. result.push_back(tmp);
    31. }
    32. sum(root->left,target);
    33. sum(root->right,target);
    34. tmp.pop_back();
    35. }
    36. };

  • 相关阅读:
    解决aspose在linux上中文乱码的方法
    机器人控制算法综述
    性能诊断工具对比+Prometheus(普罗米修斯)监控系统学习
    【python游戏制作】大富翁游戏源码
    JS基础小练习
    常见的近似算法
    云管升级助力海格通信创新之路提速-嘉为案例
    java-net-php-python-ssm电影推荐网站计算机毕业设计程序
    Linux系列之压缩命令
    复习一下vuex
  • 原文地址:https://blog.csdn.net/weixin_62684026/article/details/126382388