1261. 在受污染的二叉树中查找元素

Posted Debroon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1261. 在受污染的二叉树中查找元素相关的知识,希望对你有一定的参考价值。

1261. 在受污染的二叉树中查找元素

 


题目

传送门:https://leetcode.cn/problems/find-elements-in-a-contaminated-binary-tree/

 


算法设计:深度优先搜索

还原二叉树的时候只需要遍历所有节点,通过函数参数传递每个节点的值。

由于节点的个数规模不算大,所以可以直接用一个 HashSet 缓存所有节点值,帮助 find 函数快速判断。

class FindElements 
    unordered_set<int> cache;
    void recover(TreeNode *root, int prev) 
        if(!root) return;      
        root->val = prev;
        cache.insert(root->val);      
        recover(root->left, 2*prev + 1);
        recover(root->right, 2*prev + 2);
     
public:
    FindElements(TreeNode* root)  recover(root, 0); 
    bool find(int target)   return cache.count(target) > 0; 
;

以上是关于1261. 在受污染的二叉树中查找元素的主要内容,如果未能解决你的问题,请参考以下文章

1261. 在受污染的二叉树中查找元素

1261. 在受污染的二叉树中查找元素

LeetCode-在受污染的二叉树中查找元素

LeetCode 5264 在受污染的二叉树中查找元素 Find Elements in a Contaminated Binary Tree

学习总结

数据结构之二叉树