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

这是qklbishe.com第6529 篇笔试面试资料
提供答案分析,通过本文《输入一颗二叉树的 根 节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过结点形成一条路径。-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

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

输入一颗二叉树的 根 节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过结点形成一条路径。 零葬
使用深度优先搜索,凑出一个target就加入一条路径
import java.util.*;  /*  * public class TreeNode {  *   int val = 0;  *   TreeNode left = null;  *   TreeNode right = null;  * }  */  public class Solution {     /**      *       * @param root TreeNode类       * @param target int整型       * @return int整型ArrayList<ArrayList<>>      */     public ArrayList<ArrayList<Integer>> FindPath (TreeNode root, int target) {         // write code here         ArrayList<ArrayList<Integer>> paths = new ArrayList<>();         if(root == null){             return paths;         }else if(root.left == null && root.right == null && root.val == target){             ArrayList<Integer> path = new ArrayList<>();             path.add(root.val);             paths.add(path);             return paths;         }else{             ArrayList<ArrayList<Integer>> left = FindPath(root.left, target - root.val);             ArrayList<ArrayList<Integer>> right = FindPath(root.right, target - root.val);             left.addAll(right);             for(int i = 0; i < left.size(); i++){                 ArrayList<Integer> path = new ArrayList<>();                 path.add(root.val);                 path.addAll(left.get(i));                 paths.add(path);             }             return paths;         }     } }

今天 10:33:19 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 输入一颗二叉树的 根 节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过结点形成一条路径。-笔试面试资料

提供最优质的资源集合

立即查看 了解详情