LeetCode - 235. Lowest Common Ancestor of a Binary Search Tree
来源:互联网 发布:vb.net 安卓手机开发 编辑:程序博客网 时间:2024/05/19 11:35
BST有一个特性,就是某个root结点的值大于左子树中所有结点的值,小于所有右子数结点的值。所以如果一个结点是另外两个节点的共同祖先,那么这个结点的值必然是在另外两个值之间,可以根据这个特性写出算法。另外一点常用的思维就是在遇到二叉树的问题的时候,常常需要用递归的思维解决问题。另外需要注意的一点是,由于题目中给出的是某个节点的ancestor可以是自身,所以下面代码中的else中其实隐含了这种情况。代码如下:
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */// Method One: Recursivepublic class Solution { public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { if(root.val > p.val && root.val > q.val){ return lowestCommonAncestor(root.left, p, q); }else if(root.val < p.val && root.val < q.val){ return lowestCommonAncestor(root.right, p, q); }else{ return root; } }}// Method Two: Non-recursivepublic class Solution{ public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q){ while(true){ if(root.val > p.val && root.val > q.val) root = root.left; else if(root.val < p.val && root.val < q.val) root = root.right; else return root; } }}
0 0
- 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
- 235. Lowest Common Ancestor of a Binary Search Tree LeetCode
- 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
- [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
- 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.[Leetcode]Lowest Common Ancestor of a Binary Search Tree
- 【leetcode】235. Lowest Common Ancestor of a Binary Search Tree
- C#通用数据库操作类 支持Access/MSSql/Orale/MySql等数据库
- Java常量和变量
- MYSQL性能优化分享(分库分表)
- XSS原理剖析【基础篇】【原创】
- 在VPS或者服务器上安装Redis
- LeetCode - 235. Lowest Common Ancestor of a Binary Search Tree
- java中的list集合的遍历
- UIWindow加点击手势,上面的UITableView点击失效
- Masonry简单使用
- 编程学习分享(一)
- 领域驱动设计-笔记
- 获取屏幕截图 并保存到相册 弹出提示框 提示图片保存成功
- CentOS7.1下targetcli的使用
- Scrum 与精益( Lean ) 软件开发及应用