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 }
  • 相关阅读:
    将数字转化为字符串
    给定一列数字将其平移n位
    判断回文数的问题
    c语言链表逆序的问题
    python中类属性和实例属性的区别
    python中__repr__()方法
    python中模块和包
    flask如何写一个model
    遍历文件夹下excel文件并且写入一个新excel
    python统计任务耗时
  • 原文地址:https://www.cnblogs.com/hyxsolitude/p/12340464.html
Copyright © 2011-2022 走看看