zoukankan      html  css  js  c++  java
  • 二叉树中和为某一值的路径

    题目描述

    输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。
     
     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 }
  • 相关阅读:
    C#:反射
    静态和非静态类
    数据的存入取出(注册机方式)
    退出unity运行
    网络流基础
    欧拉回路
    博弈论问题
    洛谷P5304 [GXOI/GZOI2019] 旅行者
    [ZJOI2006]物流运输
    POJ3278 Catch that cow
  • 原文地址:https://www.cnblogs.com/hyxsolitude/p/12340464.html
Copyright © 2011-2022 走看看