介绍
本篇文章给大家分享的是有关怎样解析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二叉树的所有路径,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。