863. 二叉树中所有距离为 K 的结点

💡 二叉树中与目标节点距离为 K 的所有节点(Python 解法详解)


🧩 题目描述

给定一个二叉树的根节点 root,一个树中的目标节点 target,以及一个整数 k,请返回所有与目标节点距离为 k 的节点值组成的列表。返回结果可以按任意顺序排列。

示例:

给定如下二叉树:

        3
       / \
      5   1
     / \ / \
    6  2 0  8
      / \
     7   4
  • target = 5
  • k = 2

返回结果为:[7, 4, 1]


🔍 解题分析

从目标节点 target 出发,我们可以向它的左子树、右子树以及“父节点”方向扩展。问题在于,普通的二叉树节点并没有“父指针”,这限制了我们无法向上遍历。

为了解决这个问题,我们可以分为两个步骤:

  1. 预处理:通过深度优先遍历(DFS),记录每个节点的父节点,用一个 parent_map 表示节点与其父节点的映射关系。
  2. 广度优先搜索(BFS):从
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值