Leetcode—236. 二叉树的最近公共祖先【中等】

2024每日刷题(142)

Leetcode—236. 二叉树的最近公共祖先

在这里插入图片描述

实现代码

/**
 * 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 {
public:
    TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {
        function<TreeNode*(TreeNode*, int, int)> dfs = [&] (TreeNode* root, int p, int q) {
            if(root == nullptr) {
                return (TreeNode*)nullptr;
            }
            if(root->val == p || root->val == q) {
                return root;
            }

            TreeNode* left = dfs(root->left, p, q);
            TreeNode* right = dfs(root->right, p, q);
            // 在异侧
            if(left != nullptr && right != nullptr) {
                return root;
            }
            // 皆空
            if(left == nullptr && right == nullptr) {
                return (TreeNode*)nullptr;
            }
            // 在同侧
            return left != nullptr ? left: right;
        };
        return dfs(root, p->val, q->val);
    }
};

运行结果

在这里插入图片描述

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

相关推荐

  1. LeetCode236.最近公共祖先

    2024-07-11 12:28:03       44 阅读
  2. 236. 最近公共祖先

    2024-07-11 12:28:03       44 阅读
  3. 236. 最近公共祖先 (Swift版本)

    2024-07-11 12:28:03       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 12:28:03       53 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 12:28:03       56 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 12:28:03       46 阅读
  4. Python语言-面向对象

    2024-07-11 12:28:03       57 阅读

热门阅读

  1. 企业微信群发限制的背后逻辑,一文读懂!

    2024-07-11 12:28:03       20 阅读
  2. Stable Diffusion与AI艺术:探索人工智能的创造力

    2024-07-11 12:28:03       23 阅读
  3. vue3 ts 不使用 if switch 来决定使用什么函数

    2024-07-11 12:28:03       17 阅读
  4. 拖动未来:WebKit 完美融合拖放API的交互艺术

    2024-07-11 12:28:03       20 阅读
  5. helm安装解决无授权问题

    2024-07-11 12:28:03       18 阅读
  6. php获取,昨,今,后天.... 本周,月,年...日期时间戳

    2024-07-11 12:28:03       22 阅读
  7. 大话C语言:第28篇 内存分配与释放

    2024-07-11 12:28:03       18 阅读
  8. MySQL 中删除重复的数据并只保留一条

    2024-07-11 12:28:03       18 阅读
  9. spring boot 3.2.x 使用CDS加速启动

    2024-07-11 12:28:03       22 阅读
  10. 37.深度学习中的梯度下降法及其实现

    2024-07-11 12:28:03       20 阅读
  11. Spring Boot与Spring MVC的区别和联系

    2024-07-11 12:28:03       22 阅读
  12. 代码随想录-DAY⑥-哈希表——leetcode 383 | 454

    2024-07-11 12:28:03       21 阅读
  13. linux去掉行首的#字符

    2024-07-11 12:28:03       19 阅读
  14. 常见的负载均衡算法和实现方式

    2024-07-11 12:28:03       22 阅读
  15. Android焦点之Focused Window的更新(二)

    2024-07-11 12:28:03       18 阅读
  16. SpringBoot源码阅读(9)——转换服务

    2024-07-11 12:28:03       17 阅读