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

    //    题目描述
    //    输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。
    //    路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。
        public static class TreeNode {
            int val = 0;
            TreeNode left = null;
            TreeNode right = null;
    
            public TreeNode(int val) {
                this.val = val;
    
            }
    
        }
    
        public static ArrayList<ArrayList<Integer>> FindPath(TreeNode root, int target) {
            ArrayList<ArrayList<Integer>> arrayLists = new ArrayList<ArrayList<Integer>>();
            ArrayList<Integer> arrayList = new ArrayList<Integer>();
            if (root==null){
                return arrayLists;
            }
            int sum=0;
            //传递引用
            FindPath(arrayLists,arrayList,root,target,sum);
            return arrayLists;
        }
        public static void FindPath(ArrayList<ArrayList<Integer>> arrayLists,ArrayList<Integer> arrayList,TreeNode root, int target,int sum) {
            if (root==null){
                return;
            }
            sum += root.val;
            arrayList.add(root.val);//节点添加到动态arrayList
            if (root.right==null&&root.left==null){//判断叶子节点
                if (sum==target){//判断计算结果
                    //创建新对象加入arrayLists
                    arrayLists.add(new ArrayList<Integer>(arrayList));
                }
                //返回上一层删除本层的节点
                arrayList.remove(arrayList.size()-1);
                return;
            }
            //进入下一层
            FindPath(arrayLists,arrayList,root.left,target,sum);
            FindPath(arrayLists,arrayList,root.right,target,sum);
            //返回上一层删除本层的节点
            arrayList.remove(arrayList.size()-1);
        }
  • 相关阅读:
    cocos2d-3.0 Helloworld::onTouchMoved的处理机制的推測
    一个Nodejs的简单计算測试程序
    js正則表達式语法
    奇妙的go语言(网页下载)
    java环境变量配置
    【数据结构与算法】二叉树深度遍历(非递归)
    $.each 和$(selector).each()的差别
    HDU-2844-Coins(多重背包)
    curl命令具体解释
    Arduino 数码管LED屏驱动
  • 原文地址:https://www.cnblogs.com/kaibing/p/9014713.html
Copyright © 2011-2022 走看看