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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • win7 64位官方旗舰版上搭建ruby on rails的步骤

    win7 64位官方旗舰版上搭建ruby on rails的步骤今天在win7上安装ruby成功,步骤记录下来了,分享给朋友们。亲测,可行。———-第一步:安装ruby————1.安装rubyinstaller-2.2.4-x64.exe,记得勾选addpath…选项,安装完之后ruby-v查看版本号,比如ruby2.2.4p230(2015-12-16revision53155)[x64-mi

    2022年6月5日
    28
  • html5 移动端开发模板,搭建一个vue-cli的移动端H5开发模板

    html5 移动端开发模板,搭建一个vue-cli的移动端H5开发模板简介vue-mobile是是基于vue-cli实现的移动端H5开发模板,其中已经搭建好基本的开发框架,可帮助您实现快速开发。技术栈:vue+vux+axios+less功能搭建项目目录配置css预处理器配置UI组件库vux解决移动端适配配置页面路由缓存axios请求封装工具类函数封装toast组件封装dialog组件封装底部导航组件封装列表页demo表单页…

    2022年6月21日
    56
  • maven会自动下载jar包_给maven项目添加jar

    maven会自动下载jar包_给maven项目添加jar1、关闭maven离线模式;具体操作:打开设置ctrl+alt+s,搜索maven,取消勾选Workoffine2、设置自动下载jar包;3、更新不完整依赖命令;

    2022年10月3日
    0
  • 郁闷中…………

    郁闷中…………

    2021年8月5日
    46
  • 一份简短又全面的数学建模技能图谱:常用模型&算法总结

    本文总结了常用的数学模型方法和它们的主要用途,主要包括数学和统计上的建模方法,关于在数学建模中也挺常用的机器学习算法暂时不作补充,以后有时间就补。至于究竟哪个模型更好,需要用数据来验证,还有求解方法也不唯一,比如指派问题,你可以用线性规划OR动态规划OR整数规划OR图与网络方法来解。总的来说,常用主成分分析来降维,综合评价的方法有因子分析法、层次分析法、….,用蒙特卡罗方法来随机模拟求解;…

    2022年4月7日
    79
  • 灰度图,法线贴图,置换贴图和位移贴图

    灰度图,法线贴图,置换贴图和位移贴图作者:weiqubao先自我介绍……你要是说这是自我炒作我也认了。首先说明,FXCarl是一个对3D美术一窍不同的家伙。虽然很想往技术美工方向发展了。因为是学程序出身,眼下…

    2022年6月20日
    58

发表回复

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

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