最低公共祖先Lowest Common Ancestor of a Binary Tree
来源:互联网 发布:绿色破解版软件 编辑:程序博客网 时间:2024/05/15 16:36
Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree.
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 allowa node to be a descendant of itself).”
_______3______ / \ ___5__ ___1__ / \ / \ 6 _2 0 8 / \ 7 4
For example, the lowest common ancestor (LCA) of nodes 5
and 1
is 3
. Another example is LCA of nodes 5
and 4
is 5
, 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==NULL) return NULL; if(root==p || root==q) return root; TreeNode * left=lowestCommonAncestor(root->left, p, q); TreeNode * right=lowestCommonAncestor(root->right, p, q); if(left && right) return root; return left?left:right; }};
0 0
- 最低公共祖先Lowest Common Ancestor of a Binary Tree
- LeetCode 236. Lowest Common Ancestor of a Binary Tree(二叉树的最低公共祖先)
- [Java]寻找最低公共祖先(排序二叉树)Lowest Common Ancestor of a Binary Search Tree
- [Java]寻找最低公共祖先(普通树的情形)Lowest Common Ancestor of a Binary Tree
- LeetCode 235. Lowest Common Ancestor of a Binary Search Tree(二叉搜索树的最低公共祖先)
- 235. Lowest Common Ancestor of a Binary Search Tree 二叉搜索树的最低公共祖先(难)
- Lowest Common Ancestor of a Binary Search Tree 寻找最低共同祖先
- Lowest Common Ancestor of a Binary Search Tree 递归寻找二叉查找树公共祖先
- Lowest Common Ancestor of a Binary Tree 二叉树的公共祖先
- Lowest Common Ancestor of a Binary Search Tree(二叉树最小公共祖先)
- 236. Lowest Common Ancestor of a Binary Tree最长公共祖先
- [Leetcode] Lowest Common Ancestor of a Binary Tree 最小公共祖先
- 【二叉树】最近公共祖先Lowest Common Ancestor of a Binary Tree
- 【二叉树】最近公共祖先【235. Lowest Common Ancestor of a Binary Search Tree】
- Leetcode-236. Lowest Common Ancestor of a Binary Tree 最小公共祖先
- leetcode 235. Lowest Common Ancestor of a Binary Search Tree 最近公共祖先 + BST
- 235. Lowest Common Ancestor of a Binary Search Tree | 二叉查找树两个节点的最低共同祖先
- leetcode之二叉树类之最小公共祖先-----236/235. Lowest Common Ancestor of a Binary/Binary Search Tree
- Android 如何判断电池电量是否充足
- owncloud源码分析7--客户端上传2
- C++手稿:指针与引用
- Qt网络获取外网的网络信息
- XML 包含函数fn:contains(string1,string2)的用法
- 最低公共祖先Lowest Common Ancestor of a Binary Tree
- Linux下开机启动sh文件
- C++手稿:函数与参数
- 关于visual c++6.0【未完待续】
- Android错误之--activity_main cannot be resolved or is not a field
- leetcode 139: Word Break
- 数据结构的各种排序算法稳定性比较
- HDU 1164 Eddy's research I(素数)
- zookeeper+kafka配置