怎样解析python二叉树的所有路径

  介绍

本篇文章给大家分享的是有关怎样解析python二叉树的所有路径,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

主要记录一下二叉树的所有路径

题目

<>之前给定一个二叉树,返回所有从根节点到叶子节点的路径。      说明:叶子节点是指没有子节点的节点。      示例:      输入:      ,,1   ,/,/2,,,,,3   ,\   ,5      输出:,“1→2→5“,,“1→3“)      解释:,所有根节点到叶子节点的路径为:,1→2→5 1→3      力扣(LeetCode)   链接:https://leetcode-cn.com/problems/binary-tree-paths   著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题解

/* *
  ,* Definition  for  a  binary  tree 节点。
  ,* public  class  TreeNode  {
  ,*,,,,int  val;
  ,*,,,,TreeNode ;
  ,*,,,,TreeNode ;
  ,*,,,,TreeNode (int  x), {, val =, x,,}
  ,*}
  ,*/class  Solution  {
  ,,,public  List, binaryTreePaths (TreeNode 根),{
  ,,,,,,,List, result =, new  ArrayList<在();
  
  ,,,,,,,如果(root ==, null), {
  ,,,,,,,,,,,return 结果;
  ,,,,,,,}
  
  ,,,,,,,解决(根,,,,,,结果);
  
  ,,,,,,,return 结果;
  ,,,}
  
  ,,,,public  void 解决(TreeNode 根,String 坏蛋,,List,结果){
  ,,,,,,,如果(root ==, null), {
  ,,,,,,,,,,,返回;
  ,,,,,,,}
  
  ,,,,,,,cur  +=, root.val;
  
  ,,,,,,,如果(root.left==null ,,, root.right==null), {
  ,,,,,,,,,,,result.add(坏蛋);
  ,,,,,,,,,,,返回;
  ,,,,,,,},
  
  ,,,,,,,解决(root.left,坏蛋+”→“,,结果);
  ,,,,,,,解决(root.right,坏蛋+”→“,,结果);
  ,,,}
  }

这里采用递归的思想,设计了解决方法,方法有个集合类型的参数用于收集路径,另外还有一个参数用于表示路径的前缀;每次执行解决方法都将当前节点的val追加在路径前缀,在节点为叶子节点时,将前缀添加到结果中并返回;若不为叶子节点则将<代码>→拼接到路径前缀中,递归其左右子节点。

以上就是怎样解析python二叉树的所有路径,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

怎样解析python二叉树的所有路径