Leetcode--113. 路径总和Ⅱ

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

说明: 叶子节点是指没有子节点的节点。

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

              5
             / \
            4   8
           /   / \
          11  13  4
         /  \    / \
        7    2  5   1
返回:

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

思路:dfs+回溯

提交的代码:

/**

 * Definition for a binary tree node.

 * public class TreeNode {

 *     int val;

 *     TreeNode left;

 *     TreeNode right;

 *     TreeNode(int x) { val = x; }

 * }

 */

class Solution {

    List<List<Integer>> result = new ArrayList<List<Integer>>();

     List<Integer> list = new ArrayList<Integer>();

     int count=0;

    public void fun(TreeNode root, int sum)

    {

        if(count==sum&&root.left==null&&root.right==null)

        {

            result.add(new ArrayList<>(list));  //不能写result.add(list);因为list会改变,带动result也发生改变,需要复制一份到result

        }

        if(root.left!=null)

        {

            list.add(root.left.val);

            count+=root.left.val;

            fun(root.left,sum);

        }

        if(root.right!=null)

        {

            list.add(root.right.val);

            count+=root.right.val;

            fun(root.right,sum);

        }

        count-=list.get(list.size()-1);

        list.remove(list.size()-1);

        

    }

    public List<List<Integer>> pathSum(TreeNode root, int sum) {

       

        if(root!=null)

        {

            list.add(root.val);

            count+=root.val;

            fun(root,sum);

        }

        return result;

    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485535.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android url格式化,Android利用SpannableString实现格式化微博内容

前言在Android开发中&#xff0c;有许多信息展示需要通过TextView来展现&#xff0c;如果只是普通的信息展现&#xff0c;使用TextView setText(CharSequence str)设置即可&#xff0c;但是当在TextView里的这段内容需要截取某一部分字段&#xff0c;可以被点击以及响应响应的操…

[Unity]限制两个物体之间的距离

//限制两个物体之间的距离 if (Vector3.Distance(B.position, A.position) > maxDistance) {//获得两个物体之间的单位向量Vector3 pos (B.position - A.position).normalized;//单位向量乘以最远的距离系数pos * maxDistance;//物体A的坐标加上距离向量B.position pos A…

Leetcode--226. 翻转二叉树

翻转一棵二叉树。 示例&#xff1a; 输入&#xff1a; 4 / \ 2 7 / \ / \ 1 3 6 9 输出&#xff1a; 4 / \ 7 2 / \ / \ 9 6 3 1 提交的代码&#xff1a; /** * Definition for a binary tree node. * public class TreeNode { *…

2021年中国AIoT产业全景图谱

来源&#xff1a;物联网智库&#xff08;iot101&#xff09;编辑&#xff1a;蒲蒲日前&#xff0c;在“2020 AIoT产业年终盛典”上&#xff0c;物联网智库正式发布全新升级版的《2021中国AIoT产业全景图谱报告》&#xff08;以下简称“报告”&#xff09;。据悉&#xff0c;这是…

Leetcode--309. 最佳买卖股票时机含冷冻期

给定一个整数数组&#xff0c;其中第 i 个元素代表了第 i 天的股票价格 。​ 设计一个算法计算出最大利润。在满足以下约束条件下&#xff0c;你可以尽可能地完成更多的交易&#xff08;多次买卖一支股票&#xff09;: 你不能同时参与多笔交易&#xff08;你必须在再次购买前…

2018.8.2 Juint测试介绍及其命名的规范

JUnit - 测试框架 什么是 Junit 测试框架&#xff1f; JUnit 是一个回归测试框架&#xff0c;被开发者用于实施对应用程序的单元测试&#xff0c;加快程序编制速度&#xff0c;同时提高编码的质量。JUnit 测试框架能够轻松完成以下任意两种结合&#xff1a;Eclipse 集成开发环境…

Leetcode--448. 找到所有数组中消失的数字

给定一个范围在 1 ≤ a[i] ≤ n ( n 数组大小 ) 的 整型数组&#xff0c;数组中的元素一些出现了两次&#xff0c;另一些只出现一次。 找到所有在 [1, n] 范围之间没有出现在数组中的数字。 您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回…

html中如何让字段闪烁,Javascript结合CSS实现边框闪烁提示

Javascript结合CSS实现边框闪烁提示2017-09-01 23:12当我们提交表单的时候&#xff0c;有些字段是必填的。但是如果用户提交的时候偏偏不填写就提交&#xff0c;这时我们一般都会弹出一个框来提醒用户。但是有些小伙伴并不喜欢使用弹窗&#xff0c;觉得用户体验不好。今天就有小…

统计学权威盘点过去50年最重要的统计学思想,因果推理、bootstrap等上榜,Judea Pearl点赞...

来源&#xff1a;AI科技评论作者&#xff1a;陈彩娴、Mr Bear编辑&#xff1a;青暮近日&#xff0c;图灵奖得主、“贝叶斯网络之父”Judea Pearl在Twitter上分享了一篇新论文“What are the most important statistical ideas of the past 50 years?”&#xff08;过去50年中最…

自研芯片鸿蒙系统,华为智慧屏:自研智慧芯片鸿蒙系统 9月发布

7月26日消息 今日&#xff0c;华为在深圳举办媒体沟通会。华为消费者业务CEO余承东公布了华为智慧屏战略。华为全场景智慧化战略采用“18N”三圈层结构&#xff0c;覆盖家庭、办公、车载与运动四大场景&#xff0c;并以手机带动平板、PC、音箱、耳机等8个辅入口及更多外围生态设…

js下载文件

HTML与文件下载 如果希望在前端直接出发某些资源的下载&#xff0c;最方便快捷的方法就是使用HTML5原生的download属性&#xff0c; 例如&#xff1a; <a href"large.jpg" download>下载</a> 但显然&#xff0c;如果纯粹利用HTML属性来实现文件的下载&am…

二十世纪的十大科学骗局

来源&#xff1a;扬子晚报一般来说科学本是最讲求真实性的&#xff0c;但近些年来所谓轰动一时的科学“成果”中&#xff0c;却颇多假冒伪劣产品。1、百慕大“死亡三角”在众多科学骗局中&#xff0c;“百慕大”传说是影响最大且流传最广的一例&#xff0c;但它的起因只是第二次…

html 文本框 初始化,Flutter 文本框初始化时显示默认值

刚开始作Flutter文本框时候&#xff0c;使用的是TextField。彷佛大多数状况下都没有问题。代码形式以下&#xff1a;htmlclass _FooState extends State {TextEditingController _controller;overridevoid initState() {super.initState();_controller new TextEditingControl…

request.getAttribute()的数据类型转换问题

request.getAttribute("")返回的是object类型 int amount (int)request.getAttribute("buyamount"); 这种的转换方式一直会报错&#xff0c;需要强制解封装&#xff1a; int amount Integer.parseInt(request.getAttribute("buyamount").toS…

02_常用正则表达式

一、校验数字的表达式 1 数字&#xff1a;^[0-9]*$2 n位的数字&#xff1a;^\d{n}$3 至少n位的数字&#xff1a;^\d{n,}$4 m-n位的数字&#xff1a;^\d{m,n}$5 零和非零开头的数字&#xff1a;^(0|[1-9][0-9]*)$6 非零开头的最多带两位小数的数字&#xff1a;^([1-9][0-9]*)(.[…

复杂性系统面临的难题

来源&#xff1a;人机与认知实验室1 什么是复杂性目前无法表述清楚在汉语中“复杂”一词的意思为“事物的种类、头绪等多而杂”。在《朗文当代英语词典》中&#xff0c;形容词complex被解释为&#xff1a;(1)难于理解、解释或处理&#xff0c;不清楚或不简单&#xff1b; (2)由…

MySQL优化(2)--------常用优化

前言 之前已经简单介绍了MySQL的优化步骤&#xff0c;那么接下来自然而是就是常用的SQL优化&#xff0c;比如inseer、group by等常用SQL的优化&#xff0c;会涉及SQL语句内部细节&#xff08;这正是我缺乏的&#xff09;。最后希望自己能记录完成的一套MySQL优化博文&#xff0…

码元,波特,速率,带宽

码元&#xff1a;一个固定时长的信号波形&#xff0c;代表不同离散数值的基本波形 1码元可以携带多个比特的信息量 例如&#xff1a;下图就称为二进制码元&#xff0c;因为只有两种状态&#xff0c;一种代表0状态&#xff0c;一种代表1状态 还有其他进制码元 时长称为码元宽…

大爆炸之前的宇宙是什么样子?|赠书

来源&#xff1a;科研圈宇宙蛋难题古代的创世神话往往表现出奇妙的独创性&#xff0c;但是追根究底&#xff0c;它们只有两个基本的选择&#xff1a;宇宙要么是在有限的时间以前被创造的&#xff0c;要么就是永恒存在的。以下是神圣的印度教经文《奥义书》中描述的场景&#xf…

js获取html样式属性,js怎么获取指定css属性的值?

js怎么获取指定css属性的值&#xff1f;下面本篇文章给大家介绍一下。有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对大家有所帮助。js怎么获取指定css属性的值&#xff1f;1、通过dom.style.属性 来获取但是这种方法无法获取id、class里的属性例子:…