235. Lowest Common Ancestor of a Binary Search Tree
来源:互联网 发布:深圳盘古数据上市了没 编辑:程序博客网 时间:2024/06/05 06:16
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->val > max(p->val,q->val)) { return lowestCommonAncestor(root->left, p, q); } else if(root->val < min(p->val,q->val)) { return lowestCommonAncestor(root->right, p, q); } else { return root; } }};
引申:如果不是二叉树,是普通的树应该怎么做。普通树又分有没有定义parent。没有parent的时候就是遍历,分别找到两个node的parent,再往回回溯。(理解的不是特别清楚,还需要再想想。)
http://www.cnblogs.com/springfor/p/4141924.html
- LeetCode 235. Lowest Common Ancestor of a Binary Search Tree
- [leetcode] 235.Lowest Common Ancestor of a Binary Search Tree
- [LeetCode]235.Lowest Common Ancestor of a Binary Search Tree
- 235.Lowest Common Ancestor of a Binary Search Tree
- 235. Lowest Common Ancestor of a Binary Search Tree
- 235. Lowest Common Ancestor of a Binary Search Tree
- 235. Lowest Common Ancestor of a Binary Search Tree
- 【LeetCode】235. Lowest Common Ancestor of a Binary Search Tree
- 235. Lowest Common Ancestor of a Binary Search Tree LeetCode
- 235. Lowest Common Ancestor of a Binary Search Tree
- 235. Lowest Common Ancestor of a Binary Search Tree
- 235. Lowest Common Ancestor of a Binary Search Tree
- LeetCode 235. Lowest Common Ancestor of a Binary Search Tree
- 235. Lowest Common Ancestor of a Binary Search Tree
- [LeetCode]235. Lowest Common Ancestor of a Binary Search Tree
- [LeetCode]235. Lowest Common Ancestor of a Binary Search Tree
- LeetCode 235. Lowest Common Ancestor of a Binary Search Tree
- [leetcode] 235. Lowest Common Ancestor of a Binary Search Tree
- 本科毕业生活感悟
- 基于DotSpatial实现面积测量图层
- JAVA自学之每日一题(七)
- 欢迎使用CSDN-markdown编辑器
- Android GPS坐标距离计算
- 235. Lowest Common Ancestor of a Binary Search Tree
- Robert 的军队
- 一个简易的视屏播放器
- CSS3 涟漪效果
- HDU 3232Crossing Rivers(数学期望)
- Mybatis配置报错元素类型为 "configuration" 的内容必须匹配 "(properties?,settings?,typeAliases?,typeHandlers?,objectF
- centos安装php扩展imagick-高性能处理图片
- python 接受远程数据并写入数据库的相关模块
- 关于服务器的深入补充