leetcode1123. 最深叶节点的最近公共祖先(dfs)
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                leetcode1123. 最深叶节点的最近公共祖先(dfs)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                給你一個有根節點的二叉樹,找到它最深的葉節點的最近公共祖先。
回想一下:
葉節點 是二叉樹中沒有子節點的節點
 樹的根節點的 深度 為 0,如果某一節點的深度為 d,那它的子節點的深度就是 d+1
 如果我們假定 A 是一組節點 S 的 最近公共祖先,S 中的每個節點都在以 A 為根節點的子樹中,且 A 的深度達到此條件下可能的最大值。
示例 1:
輸入:root = [1,2,3]
 輸出:[1,2,3]
 解釋:
 最深的葉子是值為 2 和 3 的節點。
 這些葉子的最近共同祖先是值為 1 的節點。
 返回的答案為序列化的 TreeNode 對象(不是數組)"[1,2,3]" 。
代碼
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val = x; }* }*/ class Solution {int maxLen=Integer.MIN_VALUE;TreeNode maxRoot;public TreeNode lcaDeepestLeaves(TreeNode root) {po(root,0);return maxRoot;}public int po(TreeNode root,int level) {if(root==null) return level;//返回深度int l=po(root.left,level+1);int r=po(root.right,level+1);if(l==r&&l>=maxLen) {//如果左右子樹都存在相等的最深葉子節點maxLen=l;maxRoot=root;}return Math.max(l,r);//返回最深葉子節點的高度} }總結
以上是生活随笔為你收集整理的leetcode1123. 最深叶节点的最近公共祖先(dfs)的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 梦到亲戚家房子倒塌什么预兆
 - 下一篇: leetcode129. 求根到叶子节点