Re: [闲聊] 每日leetcode

楼主: sixB (6B)   2025-02-22 03:24:37
1261.
第一次用lambda接出来递回
有种很坏坏的感觉
好爽ㄛ
其实阵列就是整棵树了
很想把原本的树都蛋雕==
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
* };
*/
class FindElements {
public:
bitset<1000001> check;
FindElements(TreeNode* root) {
root->val = 0;
TreeNode* nd = root;
function< void (TreeNode*) > f ;
f = [&](TreeNode* nd){
int x = nd->val;
if(x > 1000000) return;
check[x] = 1;
if(nd->left){
nd->left->val = 2 * x + 1;
f(nd->left);
}
if(nd->right){
nd->right->val = 2 * x + 2;
f(nd->right);
}
};
f(nd);
}
bool find(int target) {
return check[target];
}
};
/**
* Your FindElements object will be instantiated and called as such:
* FindElements* obj = new FindElements(root);
* bool param_1 = obj->find(target);
*/
※ 引述《oin1104 (是oin的说)》之铭言:
: 题目
: 给你一颗树
: 每个节点的数字是父节点的2*x+1
: 找出里面会不会出现特定数字
: 思路
: 递回一次树
: 把出现的数字存起来
: 找的时候直接找就好
作者: Furina (芙宁娜)   2025-02-22 03:30:00
大师
作者: Meaverzt (Meaverzt)   2025-02-22 03:30:00
宝 3点多了别卷了

Links booklink

Contact Us: admin [ a t ] ucptt.com