二叉树是一种常见的数据结构,它由节点组成,每个节点最多有两个子节点,分别称为左子节点和右子节点。获取二叉树中给定级别上的所有节点可以通过递归遍历的方式实现。
以下是使用Python获取二叉树中给定级别上的所有节点的代码示例:
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def get_nodes_at_level(root, level):
if root is None:
return []
if level == 1:
return [root.val]
left_nodes = get_nodes_at_level(root.left, level - 1)
right_nodes = get_nodes_at_level(root.right, level - 1)
return left_nodes + right_nodes
# 示例二叉树
# 1
# / \
# 2 3
# / \ \
# 4 5 6
# /
# 7
# 获取第3级别上的所有节点
root = TreeNode(1)
root.left = TreeNode(2)
root.right = TreeNode(3)
root.left.left = TreeNode(4)
root.left.right = TreeNode(5)
root.right.right = TreeNode(6)
root.right.right.left = TreeNode(7)
level = 3
nodes = get_nodes_at_level(root, level)
print(f"第{level}级别上的所有节点:{nodes}")
输出结果为:
第3级别上的所有节点:[4, 5, 6]
在这个例子中,我们定义了一个TreeNode
类来表示二叉树的节点。get_nodes_at_level
函数接收一个二叉树的根节点和目标级别作为参数,通过递归遍历的方式获取给定级别上的所有节点。当遍历到目标级别时,返回该节点的值。最后,我们使用示例二叉树进行测试,并输出第3级别上的所有节点。
腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅为示例,实际使用时应根据具体需求选择合适的腾讯云产品。
领取专属 10元无门槛券
手把手带您无忧上云