LeetCode 刷题: 两个二叉树节点的最近公共节点Least Common Ancestor
来源:互联网 发布:上位机软件开发 编辑:程序博客网 时间:2024/05/29 18:21
Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST.
According to the definition of LCA on Wikipedia: “The lowest common ancestor is defined between two nodes v and w as the lowest node in T that has both v and w as descendants (where we allow a node to be a descendant of itself).”
_______6______ / \ ___2__ ___8__ / \ / \ 0 _4 7 9 / \ 3 5
For example, the lowest common ancestor (LCA) of nodes 2
and 8
is 6
. Another example is LCA of nodes 2
and 4
is 2
, since a node can be a descendant of itself according to the LCA definition.
/** * 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) { if(!root) return nullptr; if(root == p || root == q) return root; TreeNode* left_side = lowestCommonAncestor(root->left, p, q); TreeNode* right_side = lowestCommonAncestor(root->right, p, q); if(left_side && right_side) return root; if(left_side) return left_side; if(right_side) return right_side; return nullptr; }};
0 0
- LeetCode 刷题: 两个二叉树节点的最近公共节点Least Common Ancestor
- 235. Lowest Common Ancestor of a Binary Search Tree (求二叉树中两个节点的最近公共祖先)
- 在二叉树中查找两个节点的最近的公共祖先节点(无回溯指针)(NCA--nearest common ancestor)
- 在二叉树中查找两个节点的最近的公共祖先节点(有回溯指针)(NCA--nearest common ancestor)
- 二叉树中两个子节点的最近公共节点
- 二叉树中两个节点的最近公共父节点
- 二叉树中两个节点的最近公共父节点
- 二叉树中两个节点的最近公共父节点
- 二叉树中两个节点的最近公共父节点
- 二叉树中两个节点的最近公共祖先节点
- 二叉树中两个节点的最近公共祖先节点
- 二叉树中两个节点的最近公共节点
- 二叉树中两个节点的最近公共祖先节点
- 二叉树中两个节点的最近公共父节点
- 二叉树中两个节点的最近公共祖先节点
- 二叉树中两个节点的最近公共父节点
- 如何找到二叉树两个节点的最近公共双亲?
- 求二叉树中两个节点的最近公共祖先
- java基础知识总结(二)
- Media and Camera 中 Camera 模块
- uva 129 Krypton Factor (DFS+巧妙的判断方法)
- 更改 状态栏(UIStatusBar)的颜色
- jQuery实现点击弹出层3秒后自动消失
- LeetCode 刷题: 两个二叉树节点的最近公共节点Least Common Ancestor
- android studio 版本控制 .gitignore 文件配置 &&移除已上传到git的不需版本控制的文件
- 欢迎使用CSDN-markdown编辑器
- Uva400——Unix ls
- [Django数据库模型]Django遍历视图传递过来的元组
- Java中的回调机制
- PHP开发环境之WAMP独立安装
- STL中erase()小心使用
- 查了查Ubuntu Studio有感 [如转载请注明出处]