本文是关于如何分析python二叉树的所有路径。边肖觉得很实用,所以分享给大家学习。希望你看完这篇文章能有所收获。让我们和边肖一起看看。
序
主要记录二叉树的所有路径。
00-1010给定一棵二叉树,返回从根节点到叶节点的所有路径。
描述:叶节点是指没有子节点的节点。
示例:
输入:
一个
/\
23
\
五
输出:['1-2-5 ',' 1-3']
解释:从所有根节点到叶节点的路径是:1-2-5,1-3。
资料来源:LeetCode
链接:https://leetcode-cn.com/problems/binary-tree-paths
版权归领扣网所有。商业转载请联系官方授权,非商业转载请注明出处。
题目
/**
* Definitionforabinarytreenode。
*publicclassTreeNode{
* intval
* TreeNodeleft
* TreeNoderight
* TreeNode(intx){ val=x;}
*}
*/
类别解决方案{
publicatiststringbinarithpath(TreeNoderoot){ 0
ListStringresult=NewArraylist();
if(root==null){ 0
返回结果;
}
求解(根'',结果);
返回结果;
}
publicvoidsolve(TreeNoderoot,Stringcur,ListStringResult){ 0
if(root==null){ 0
返回;
}
cur=root.val
if(root . left==nullroot . right==null){ 0
result . add(cur);
返回;
}
求解(root.left,cur '-',result);
求解(root.right,cur '-',result);
}
}这里的求解方法是用递归的思想设计的。该方法有一个用于收集路径的集合类型参数,以及另一个用于指示路径前缀的参数。每次执行solve方法时,将当前节点的val追加到路径前缀中,当节点为叶节点时,将前缀添加到结果中并返回;如果它不是叶节点,则拼接到路径前缀中,并递归其左右子节点。
以上就是如何分析python二叉树的所有路径。边肖认为,一些知识点可能会在我们的日常工作中看到或使用。我希望你能通过这篇文章学到更多的知识。更多详情请关注行业资讯频道。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/144280.html