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

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

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

下图的二叉树有两条和为 22 的路径:10, 5, 7 和 10, 12

package cn.cqu.edu;import java.util.ArrayList;public class Find_Path {		class TreeNode {	    int val = 0;	    TreeNode left = null;	    TreeNode right = null;	    public TreeNode(int val) {	        this.val = val;	    }	}		ArrayList
> ret=new ArrayList<>(); private void result(TreeNode root,int target, ArrayList
arrayList) { //注意栈变量和引用变量在这里起的作用,很微妙 if(root==null) { return; } target=target-root.val; arrayList.add(root.val); if(target==0 && root.left==null && root.right==null) { ret.add(new ArrayList<>(arrayList)); //因为arrayList是引用类型,因此用new创建一块新的存储空间,此块空间用arrayList初始化 } else { result(root.left,target,arrayList); result(root.right,target,arrayList); } arrayList.remove(arrayList.size()-1); } public ArrayList
> FindPath(TreeNode root,int target) { result(root,target,new ArrayList<>()); return ret; } public static void main(String[] args) { }}

 

转载地址:http://wckmi.baihongyu.com/

你可能感兴趣的文章
report server tempdb 过大问题
查看>>
sql server时间戳timestamp
查看>>
mysql 添加时间戳
查看>>
为什么在WinXP系统上无法安装SQL2000的服务器组件?
查看>>
Pentaho 之Schame workbench入门实例
查看>>
pentaho 示例Cube配置详解(SQL Server版本)
查看>>
SQLSERVER数据库管理员的专用连接DAC
查看>>
SQL Server 2008中Service Broker基础应用(上)
查看>>
新下载kettle不能启动问题
查看>>
mysql sp
查看>>
SELECT ... FOR UPDATE LOCK IN SHARE MOD
查看>>
恢复oracle数据到以前的某个时间点
查看>>
mysql kettle 分页
查看>>
mongoDB 入门指南、示例
查看>>
不存在插入的一种写法
查看>>
p_vipshop_to_actual_day_shop_sale
查看>>
写MySQL存储过程实现动态执行SQL
查看>>
P_sync_etl_mid_data
查看>>
js正则表达式语法
查看>>
常用正则表达式大全 (转)
查看>>