博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode#回溯#34. 二叉树中和为某一值的路径
阅读量:3952 次
发布时间:2019-05-24

本文共 1386 字,大约阅读时间需要 4 分钟。

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

示例:

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

来源:力扣(LeetCode)

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

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */class Solution {
public List
> pathSum(TreeNode root, int sum) {
Op op = new Op(); op.dfs(root,sum); return op.list; } static class Op{
TreeNode root; List
> list = new LinkedList<>(); LinkedList
tail = new LinkedList<>(); void dfs(TreeNode root,int sum) {
if(root == null) return; tail.offer(root.val); if(isEnd(root) && root.val == sum) {
//深拷贝 list.add( new LinkedList<>(tail)); } if(root.left !=null) {
dfs(root.left, sum-root.val); tail.pollLast(); } if(root.right!=null) {
dfs(root.right,sum-root.val); tail.pollLast(); } } boolean isEnd(TreeNode root) {
return root.left==null && root.right==null; } }}
你可能感兴趣的文章
epoll_create epoll_ctl epoll_wait close epoll和select的简单比较
查看>>
学习使用epoll
查看>>
uevent分析
查看>>
OMAP3630 Linux I2C总线驱动分析
查看>>
LDD3 读书笔记之 第 5 章 并发和竞争情况
查看>>
spinlock与linux内核调度的关系
查看>>
Android 显示系统
查看>>
小议C语言中数据的存储类型
查看>>
android双屏显示的一些修改与尝试
查看>>
Android Display System --- Surface Flinger
查看>>
有webservice参与的系统的单元测试, 使用mock object (二)
查看>>
有webservice参与的系统的单元测试, 使用mock object (三)
查看>>
delayed_job 的 基本用法
查看>>
ruby , rspec中测试 module
查看>>
ruby 中的多行字符串(multiple lines of string) %Q, %w, %q
查看>>
linux 中的 photoshop/paintshop: GIMP
查看>>
linux link (ln) 的用法 : ln -s <目标文件> <link_name>
查看>>
多个workers下 delayed_job的问题:
查看>>
capistrano 的几个参数( logger, set-before)
查看>>
对使用开源项目的一点儿讨论
查看>>