专栏首页CtrlCV博客【剑指Offer】二叉树中和为某一值的路径

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

题目

输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。

示例: 给定如下二叉树,以及目标和 sum = 22,

          5
         / \
        4   8
       /   / \
      11  13  4
     /  \    / \
    7    2  5   1

返回:

[ [5,4,11,2], [5,8,4,5] ]

提示:

节点总数 <= 10000

题解

class Solution {
    LinkedList<List<Integer>> res = new LinkedList<>();
    LinkedList<Integer> path = new LinkedList<>(); 
    public List<List<Integer>> pathSum(TreeNode root, int sum) {
        recur(root, sum);
        return res;
    }
    void recur(TreeNode root, int tar) {
        if(root == null) return;
        path.add(root.val);
        tar -= root.val;
        if(tar == 0 && root.left == null && root.right == null)
            res.add(new LinkedList(path));
        recur(root.left, tar);
        recur(root.right, tar);
        path.removeLast();
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【剑指Offer】二叉树的镜像

    输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1]

    小新哟
  • 【剑指Offer】对称的二叉树

    请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。

    小新哟
  • Markdown语法

    小新哟
  • linux每日命令(31):tar命令

    tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初...

    用户1214487
  • 配置SVN的hooks功能自动更新代码

    用过SVN的小伙伴们,都应该知道hooks(钩子)这个功能,的确日常企业内部测试环境经常会用过这个“特殊”的功能,今天来聊一聊SVN hooks

    民工哥
  • Js算法与数据结构拾萃(4):二叉树

    因此只要答对这道题,你就可以超越世界级大牛,问鼎码林之巅(逃) 导读: •二叉树知识重点•二叉树深度不一,因此天生适用递归,因此可用递归处理•判断两树相等•翻转...

    一粒小麦
  • linux基础命令介绍三:文件搜索及其它

    find是一个非常有效的工具,它可以遍历目标目录甚至整个文件系统来查找某些文件或目录:

    用户5030870
  • 3.文件查看及内容处理

    功能:crt模式看文件浏览过滤 语法:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [file ...] 用法: ...

    py3study
  • linux命令使用方法

    在虚拟机软件的菜单栏中一次选择“虚拟机->设置->选项->共享文件夹”,在右侧选启用或在下次电源关闭或挂起前启用,点击下面的添加,下一步,在主机路径中选中win...

    用户1396155
  • 常用的几个tar命令

    此外,还可以指定解压的文件路径,如:tar -zxvf xxx.tar.gztar -C /project/

    二狗不要跑

扫码关注云+社区

领取腾讯云代金券