• 剑指Offer(Java版)第二十九题:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。 路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。


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

    import java.util.*;

    public class Class29 {

    public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;

    public TreeNode(int val) {
    this.val = val;
    }
    }

    private ArrayList<Integer> nodeList = new ArrayList<Integer>();
    private ArrayList<ArrayList<Integer>> pathList = new ArrayList<ArrayList<Integer>>();

    public ArrayList<ArrayList<Integer>> FindPath(TreeNode node, int target){
    if(node == null){
    return pathList;
    }
    nodeList.add(node.val);
    target -= node.val;
    if(target == 0 && node.left == null && node.right == null){
    int i = 0;
    while(i < pathList.size() && nodeList.size() < pathList.get(i).size()){
    i++;
    }
    pathList.add(i,new ArrayList<Integer>(nodeList));
    }else{
    pathList = FindPath(node.left,target);
    pathList = FindPath(node.right,target);
    }
    //删除最后一个节点
    nodeList.remove(nodeList.size() - 1);
    return pathList;
    }

    public static void main(String[] args) {
    // TODO Auto-generated method stub

    }

    }

  • 相关阅读:
    倒下
    我还能相信谁

    工作这点事
    人,这东西
    祝福
    路,公车和鞋子
    那片海
    document.querySelector bug All In One
    js logical or assignment bug All In One
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12509942.html
Copyright © 2020-2023  润新知