十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要讲解了“Python怎么实现二叉树按层级遍历”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么实现二叉树按层级遍历”吧!
成都创新互联公司专业为企业提供波密网站建设、波密做网站、波密网站设计、波密网站制作等企业网站建设、网页设计与制作、波密企业网站模板建站服务,十余年波密做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
Python实现二叉树按层级遍历,看起来有点复杂。如下图,如果一个二叉树有多层,则从上到下,每层按从左到右遍历。
每层放在一个队列,整体返回一个多组队列的队列。
看起来复杂,其实实现反而很简单;不用栈,就用一个节点队列放当前层级节点,遍历当前层级节点,读取值放入一个读取队列,读取当前节点的子节点放入另一个队列;当当前队列节点遍历完成后,使用下一层节点对用,相当于进入下一层,遍历刚刚生成子节点队列,如此反复直到节点队列为空结束。
代码如下
# Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def levelOrder(self, root: TreeNode) -> List[List[int]]: traversalList = [] nodeList = [] if root != None: nodeList.append(root) while nodeList != []: currentLevelVal = [] currentNodeList = [] for node in nodeList: currentLevelVal.append(node.val) if node.left != None: currentNodeList.append(node.left) if node.right != None: currentNodeList.append(node.right) traversalList.append(currentLevelVal) nodeList = currentNodeList return traversalList
感谢各位的阅读,以上就是“Python怎么实现二叉树按层级遍历”的内容了,经过本文的学习后,相信大家对Python怎么实现二叉树按层级遍历这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!