题目链接:https://leetcode-cn.com/problems/all-nodes-distance-k-in-binary-tree/
题意:
给定一个二叉树(具有根结点 root), 一个目标结点 target ,和一个整数值 K 。
返回到目标结点 target 距离为 K 的所有结点的值的列表。 答案可以以任何顺序返回。
方法:哈希表将二叉树转换为图
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {//树变图
private:
unordered_map<int,TreeNode*> mp;//哈希表,<当前节点的val,父节点>
vector<int> vct;//distanceK中的返回向量
public:
void findParents(TreeNode* node)//寻找父节点,相当于构图,把二叉树转换为图
{
if(node->left!=nullptr)//左子节点不为空的时候
{
mp[node->left->val] = node;