题解 | #距离是K的二叉树节点#

距离是K的二叉树节点

http://www.nowcoder.com/practice/e280b9b5aabd42c9b36831e522485622

class Solution {
public:
    unordered_map<int,TreeNode*>parent;
    vector<int>ans;
    TreeNode* t;
    void findParent(TreeNode* root)
    {
        if(root->left)
        {
            parent[root->left->val]=root;
            findParent(root->left);
        }
        if(root->right)
        {
            parent[root->right->val]=root;
            findParent(root->right); 
        }
    }
    void findAns(TreeNode* root,TreeNode* from,int d,int k)
    {
        if(!root)
            return;
        if(d==k)
        {
            ans.emplace_back(root->val);
            return;
        }
        if(root->left!=from)
            findAns(root->left,root,d+1,k);
        if(root->right!=from)
            findAns(root->right,root,d+1,k);
        if(parent[root->val]!=from)
            findAns(parent[root->val],root,d+1,k);
    }
    void findTarget(TreeNode* root,int target)
    {
        if(!root)
            return;
        findTarget(root->left,target);
        findTarget(root->right,target);
        if(root->val==target)
        {
            t=root;
            return;
        }
    }
    vector<int> distanceKnodes(TreeNode* root, int target, int k) {
        findParent(root);
        findTarget(root,target);
        findAns(t,NULL,0,k);
        return ans;
    }
};

全部评论
没有注释呢
点赞 回复 分享
发布于 2022-05-31 13:36
道歉
点赞 回复 分享
发布于 2023-02-27 14:45 陕西

相关推荐

上去投简历,什么的都准备好了,但是就是反馈率很低,处理的非常慢。而且还卖我的信息,有些公司没投就直接电话找我。真成失联招聘了?
Ethan伊森:真的,虽然天天看到吐槽boss,但是boss一周就约了好几个面试,hr交流反馈都很及时,智联有那个一键投简历,投的比boss多得多,却一个联系约面的都没有
点赞 评论 收藏
分享
在备战秋招的社畜很自信:校招生违约率低,所以我要高😂
点赞 评论 收藏
分享
xxxxOxo:这公司幽默得很,要了简历半天一点动静都没有,过一会就给你发个邮件让你做测试,做完又没后文了,纯溜人
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务