Tree-----最低公共祖先系列
来源:互联网 发布:php网站开发实例教程 编辑:程序博客网 时间:2024/06/05 15:56
1.BST中的最低公共祖先
原题目
在BST中的特殊形式使得假如出现了一个数比其中一个小,比另一个大就是复合题意了。不可能出现还有另外的情况。
public TreeNode lowestCommonAncestor(TreeNode node, TreeNode p, TreeNode q) { TreeNode root=node; if(root.val>=p.val&&root.val<=q.val){ return root; }else 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); } return node; }
这里还要考虑的应该是给的两个节点的相对大小,我认为为了健壮性应该要自己先比较一下确认大小
2.一般二叉树的最低公共祖先
原题目
假如当前的节点为正常节点,我的左子树找到了一个结果,事实上这个结果只能是p,q之一。倘若此时右子树什么都没有找到的话就是左子树的结果作为结果了。假如右子树也找到了一个结果,同样只能是p,q之一,那么 此时的当前节点就是我们寻找的最低公共祖先。
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 != null && right != null) { return root; } else { return (left != null) ? left : right; } }
阅读全文
0 0
- Tree-----最低公共祖先系列
- 最低公共祖先
- 最低公共祖先问题
- 树最低公共祖先
- 最低公共祖先
- 最低公共祖先
- 最低公共祖先LCA
- 最低公共祖先Lowest Common Ancestor of a Binary Tree
- 树中两个节点最低公共祖先系列算法
- 求两颗树的最低公共祖先
- 树的最低公共祖先
- 二叉树最低公共祖先
- 【最近公共祖先】Tree
- LeetCode 236. Lowest Common Ancestor of a Binary Tree(二叉树的最低公共祖先)
- 二叉树系列——两个节点的最低公共祖先
- lowest common ancestor 最低公共祖先
- 求树中两个节点的最低公共祖先
- 二叉搜索树的最低公共祖先
- English words page one
- 畅通工程续
- 欢迎使用CSDN-markdown编辑器
- poj 3687 Labeling Balls【反向拓扑】
- 记一次Fedora 25下手动安装Eclipse Oxygen的步骤
- Tree-----最低公共祖先系列
- 单链表实现文件版本通讯录
- 迅捷CAD看图软件有哪些功能
- 两种编程思想
- LoadRunner-Vuser之参数化、关联、事务、检查点、集合点的使用
- 运维工具之轻量级自动化运维工具Fabric源码安装
- iOS 删除系统自带的tabbar
- java list 数据去重
- 二叉树遍历