# 863-all-nodes-distance-k-in-binary-tree Try it on leetcode ## Description

Given the root of a binary tree, the value of a target node target, and an integer k, return an array of the values of all nodes that have a distance k from the target node.

You can return the answer in any order.

 

Example 1:

Input: root = [3,5,1,6,2,0,8,null,null,7,4], target = 5, k = 2
Output: [7,4,1]
Explanation: The nodes that are a distance 2 from the target node (with value 5) have values 7, 4, and 1.

Example 2:

Input: root = [1], target = 1, k = 3
Output: []

 

Constraints:

## Solution(Python) ```Python class Solution(object): def distanceK(self, root, target, K): def dfs(node, par=None): if node: node.par = par dfs(node.left, node) dfs(node.right, node) dfs(root) queue = collections.deque([(target, 0)]) seen = {target} while queue: if queue[0][1] == K: return [node.val for node, d in queue] node, d = queue.popleft() for nei in (node.left, node.right, node.par): if nei and nei not in seen: seen.add(nei) queue.append((nei, d + 1)) return [] ```