LCR 056. 两数之和 IV - 输入二叉搜索树

文章目录

题意

题目链接

思路

代码

C++ 复制代码
/**
 * 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 Solution {
public:
    void tree2vetor(TreeNode *root, vector<int> &num) {
        if (root == NULL) {
            return ;
        }
        tree2vetor(root->left, num);
        num.push_back(root->val);
        tree2vetor(root->right, num);
    }
    bool findTarget(TreeNode* root, int k) {
        vector<int> num;
        tree2vetor(root, num);
        int l = 0, r = num.size() - 1 ;
        while (l < r)
        {
            const int tmp = num[l] + num[r];
            if (tmp == k)
                return true;
            if (tmp > k)
                r--;
            else 
                l++;
        }
        return false;
    }
};
相关推荐
H_BB几秒前
LRU缓存
数据结构·c++·算法·缓存
白帽黑客-晨哥1 分钟前
Web安全中SQL注入绕过WAF的具体手法和实战案例
sql·安全·web安全·职场和发展·渗透测试
历程里程碑2 小时前
LeetCode热题11:盛水容器双指针妙解
c语言·数据结构·c++·经验分享·算法·leetcode·职场和发展
敲敲了个代码7 小时前
从硬编码到 Schema 推断:前端表单开发的工程化转型
前端·javascript·vue.js·学习·面试·职场和发展·前端框架
wadesir9 小时前
Rust中的条件变量详解(使用Condvar的wait方法实现线程同步)
开发语言·算法·rust
yugi9878389 小时前
基于MATLAB实现协同过滤电影推荐系统
算法·matlab
TimberWill9 小时前
哈希-02-最长连续序列
算法·leetcode·排序算法
Morwit9 小时前
【力扣hot100】64. 最小路径和
c++·算法·leetcode
leoufung9 小时前
LeetCode 373. Find K Pairs with Smallest Sums:从暴力到堆优化的完整思路与踩坑
java·算法·leetcode
七禾页丫10 小时前
面试记录12 中级c++开发工程师
c++·面试·职场和发展