首页 > 其他 > 详细

二叉树中和为某一值的路径

时间:2020-02-21 11:34:41      阅读:46      评论:0      收藏:0      [点我收藏+]

题目描述

输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。
 
 1 import java.util.ArrayList;
 2 /**
 3 public class TreeNode {
 4     int val = 0;
 5     TreeNode left = null;
 6     TreeNode right = null;
 7 
 8     public TreeNode(int val) {
 9         this.val = val;
10 
11     }
12 
13 }
14 */
15 public class Solution {
16     public void dfs(ArrayList<ArrayList<Integer>>ans, ArrayList<Integer>temp, TreeNode p, int target){
17         temp.add(p.val);
18         if (p.left == null && p.right == null) {
19             if (target == p.val) {
20           
21                 ans.add(new ArrayList<>(temp));
22                 
23             }
24             temp.remove(temp.size() - 1);
25             return;
26         }
27         if (p.left != null)
28         dfs(ans, temp, p.left, target - p.val);
29         if (p.right != null)
30         dfs(ans, temp, p.right, target - p.val);
31         temp.remove(temp.size() - 1);
32         
33     }
34     public ArrayList<ArrayList<Integer>> FindPath(TreeNode root,int target) {
35         ArrayList<ArrayList<Integer>> ans = new ArrayList<>();
36         ArrayList<Integer> temp = new ArrayList<>();
37         if (root == null) {
38             return ans;    
39         }
40         dfs(ans, temp, root, target);
41         return ans;
42     }
43 }

 

二叉树中和为某一值的路径

原文:https://www.cnblogs.com/hyxsolitude/p/12340464.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!