LeetCode——Path Sum II

LeetCode——Path Sum II

大家好,又见面了,我是全栈君。

Given a binary tree and a sum, find all root-to-leaf paths where each path’s sum equals the given sum.

For example:


Given the below binary tree and 
sum = 22
,

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

return

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

给定一个二叉树和一个值。找出全部根到叶的路径和等于这个值的路径。

深度优先遍历。

	public List<List<Integer>> pathSum(TreeNode root, int sum) {		List<List<Integer>> ret = new ArrayList<List<Integer>>();		List<Integer> list = new ArrayList<Integer>();		dfs(root,sum,ret,list);		return ret;	}	public void dfs(TreeNode root,int sum,List<List<Integer>> ret,List<Integer> list){		if(root == null)			return ;		if(root.val == sum && root.left == null && root.right == null){			list.add(root.val);			List<Integer> temp = new ArrayList<Integer>(list);//拷贝一份			ret.add(temp);			list.remove(list.size() - 1);//再删除			return ;		}		list.add(root.val);		dfs(root.left,sum-root.val,ret,list);		dfs(root.right,sum-root.val,ret,list);		list.remove(list.size() - 1);	}	// Definition for binary tree	public class TreeNode {		int val;		TreeNode left;		TreeNode right;		TreeNode(int x) {			val = x;		}	}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116080.html原文链接:https://javaforall.net

(0)
上一篇 2022年1月26日 上午11:00
下一篇 2022年1月26日 下午12:00


相关推荐

  • Pycharm 运行py文件[通俗易懂]

    Pycharm 运行py文件[通俗易懂]1 在桌面上建立一个文件夹  2.打开pycharm,如果已经有文件了,就点击File-&gt;closeproject,回到主界面3 选择Createanewproject 4.    将该文件夹的所在路径设为工程的路径,选择一下解释器,就点击Create,如果提示该文件夹不空的话,点击yes即可,可以提前把数据放入该aaaa文件夹5.   现在进入该页面,然后新建一个…

    2022年8月29日
    4
  • js实现时钟代码

    js实现时钟代码代码<!DOCTYPEhtml><html><headlang=”en”><metacharset=”UTF-8″><title></title><style>/*全局*/*{margin:0;…

    2022年6月28日
    27
  • 新手福音:在快马平台用中文描述轻松入门ai编程,替代claude code

    新手福音:在快马平台用中文描述轻松入门ai编程,替代claude code

    2026年3月13日
    2
  • linux ethtool 查看网卡状态

    linux ethtool 查看网卡状态ethtool nbsp 工具关于网络协商功能介绍 nbsp ethtool nbsp nbsp Display nbsp or nbsp change nbsp ethernet nbsp card nbsp settings ethtool nbsp 是用来显示和更改网卡设置的工具 这个工具比较复杂 功能也特别多 由于洋文比较难懂 所以我们还是把网络设备协商方式的设置方法说一说 2 1 nbsp ethtool nbsp 显示网络端口设置功能 这个功能比较好办 就是 ethtool nbsp 后面直

    2026年3月18日
    3
  • 软件缺陷,缺陷报告怎么写_缺陷报告通常包括哪些内容

    软件缺陷,缺陷报告怎么写_缺陷报告通常包括哪些内容软件缺陷软件缺陷:常常又被叫做Bug。所谓软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。从软件测试观点出发,软件缺陷有以下五大类:功能缺陷、系统缺陷、加工缺陷、数据缺陷、代码缺陷软件类别:缺陷的表现形式不仅体现在功能的失效方面,还体现在其他方面。主要类型有:软件没有实现产品规格说明所…

    2026年1月20日
    5
  • 设计模式初探——简单工厂模式

    设计模式初探——简单工厂模式

    2021年12月3日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号