leetcode 235 Lowest Common Ancestor of a Binary Search Tree
2015-07-14 12:45
337 查看
1. 问题描述
给定一棵二叉搜索树(BST),查找两个节点的最短公共祖先节点。2. 方法与思路
这是一个简化的LCA问题,由于是二叉搜索树,树的本身就有一定节点,左儿子节点的值小于父节点值,父节点值小于右儿子节点的值。这样我们可以递归查找就可以了,如果当前节点值大于给定两个节点的值就去它的左子树查找,如果当前节点的值小于给定两个节点的值,就去它的右子树查找,否则返回该节点。/** * 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->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; } };
相关文章推荐
- [转载] HTTP 协议漫谈
- 全本于2015年7月14日思考强人工智能
- SELinux角色的用途
- Redis 经验谈
- POJ2914
- HDU-1052-Tian Ji -- The Horse Racing(C++ && 简单贪心)
- 导出数据库表到指定的文件中的相应字段
- MVC添加分布视图做唯一验证
- #19 Remove Nth Node From End of List
- SOCKET套接字选项
- 升级Xcode 导致插件失效的解决办法
- Eclipse当中的Copy Qualified Name
- 永远持股。 今天 用它, 明天用它, 后天还用它。 跟科技无关的企业
- 欢迎使用CSDN-markdown编辑器
- 一、动态规划(3)递增序列
- Tomcat 8.x配置虚拟目录
- 您的服务器设置了 open_base_dir 下安装ECshop后后台提示: 您的服务器设置了 open_base_dir 且没有包含 C:\WINDOWS\Temp,您将无法上传文件。 解决方法
- ios修改NavigationController的背景颜色
- android 轮播图手动循环滑动+自动循环滑动
- SQL注入原理,值得一看