层序遍历二叉链表
层序遍历二叉链表通常需要借助队列(Queue)数据结构来实现。这是因为队列的先进先出(FIFO)特性可以很好地对应到层序遍历的从左到右、从上到下的特性。
以下是一个使用Python实现的层序遍历二叉树的示例:
Python
from collections python新手代码示例import deque
class TreeNode:
    def __init__(self, x):
        self.val = x
        self.left = None
        self.right = None
def levelOrder(root):
    if not root:
        return []
    result, queue = [], deque([root])
    while queue:
        level = []
        for _ in range(len(queue)):
            node = queue.popleft()  # 弹出队列左侧的元素
            level.append(node.val)  # 将节点值添加到当前层结果列表中
            if node.left:            # 将左子节点添加到队列中
                queue.append(node.left)
            if node.right:          # 将右子节点添加到队列中
                queue.append(node.right)
        result.append(level)      # 将当前层的节点值列表添加到最终结果中
    return result
在这个代码中,我们首先定义了一个二叉树节点类TreeNode,然后定义了一个levelOrder函数来进行层序遍历。我们首先将根节点放入队列中,然后在每次循环中,我们都将队列中所有的节点弹出,并将它们的值添加到当前层的列表中。同时,我们将每个节点的左子节点和右子节点添加到队列中,以便在下一次循环中处理。最后,我们将每个层的列表添加到最终的结果中。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。