网站做游戏活动,如何增加网站权重,中国制造网外贸平台网址,北京网站备案公司最近公共祖先
问题描述
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一…
最近公共祖先
问题描述
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”详见leetcode236
privateTreeNode res =null;publicTreeNodelowestCommonAncestor(TreeNode root,TreeNode p,TreeNode q){dfs(root,p,q);return res;}publicbooleandfs(TreeNode root,TreeNode p,TreeNode q){if(root==null){returnfalse;}boolean left =dfs(root.left,p,q);boolean right =dfs(root.right,p,q);if(left&&right){res = root;}if(root == p || root ==q){res = root;}return left || right || root==p || root==q;}