给定值,寻找二叉树中满足的所有路径
程序员文章站
2022-05-06 22:45:17
...
import java.util.ArrayList;
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
public class Solution {
ArrayList<ArrayList<Integer>> arr=new ArrayList<ArrayList<Integer>>();
public ArrayList<ArrayList<Integer>> pathSum(TreeNode root, int sum) {
ArrayList<Integer>list=new ArrayList<>();
getPaths(root,sum,list);
return arr;
}
//递归函数实现路径存储
public void getPaths(TreeNode root,int sum,ArrayList<Integer>list){
if(root==null) return;
if(root.left==null&&root.right==null&&sum-root.val==0){
list.add(root.val);
arr.add(new ArrayList<Integer>(list));
list.remove(list.size()-1);
return;
}
list.add(root.val);
getPaths(root.left,sum-root.val,list);
getPaths(root.right,sum-root.val,list);
list.remove(list.size()-1);
}
public static void main(String[]args){
//System.out.println("Hello World!");
}
}
推荐阅读
-
python3实现在二叉树中找出和为某一值的所有路径
-
C题解:有一棵树,一开始每个点有一个初始值,每一个点的新数为它到树顶的路径中的所有数,去掉一个数后的最大公因数中的最大值
-
-在二元树中找出和为某一值的所有路径--捡捡递归的使用
-
-在二元树中找出和为某一值的所有路径--捡捡递归的使用
-
给定两个非空二叉树 s 和 t,检验s 中是否包含和 t 具有相同结构和节点值的子树
-
python3实现在二叉树中找出和为某一值的所有路径
-
给定值,寻找二叉树中满足的所有路径
-
C题解:有一棵树,一开始每个点有一个初始值,每一个点的新数为它到树顶的路径中的所有数,去掉一个数后的最大公因数中的最大值
-
C++:输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。
-
给定两个非空二叉树 s 和 t,检验s 中是否包含和 t 具有相同结构和节点值的子树