网站最上面标题怎么改,关键词seo深圳,华为云和wordpress,网站建设成果最近公共祖先
问题描述
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 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;}