LeetCode——最近公共祖先
題目一:給定一個二叉樹, 找到該樹中兩個指定節點的最近公共祖先。
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); //在左子樹查詢p或者q,找到了就返回
TreeNode right=lowestCommonAncestor(root.right,p,q); //在右子樹查詢p或者q,找到了就返回
if(left==null) //如果左子樹為空,則p和q位於右子樹,第一個返回的就是公共子樹
{
return right;
}
else if(right==null)
{
return left;
}
else{ //說明p和q不在同一側
return root;
}
}
題目二:給定一個二叉搜尋樹, 找到該樹中兩個指定節點的最近公共祖先。
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); //在左子樹查詢p或者q,找到了就返回
TreeNode right=lowestCommonAncestor(root.right,p,q); //在右子樹查詢p或者q,找到了就返回
if(left==null) //如果左子樹為空,則p和q位於右子樹,第一個返回的就是公共子樹
{
return right;
}
else if(right==null)
{
return left;
}
else{ //說明p和q不在同一側
return root;
}
}
相關文章
- 最近公共祖先
- LCA最近公共祖先
- 最近公共祖先 LCA
- Day 5 LCA 最近公共祖先
- leetcode 235. 二叉搜尋樹的最近公共祖先LeetCode
- 樹的最近公共祖先問題
- (117)235. 二叉搜尋樹的最近公共祖先(leetcode)LeetCode
- 二叉樹的最近公共祖先二叉樹
- 「學習筆記」tarjan 求最近公共祖先筆記
- Git 中的演算法-最近公共祖先Git演算法
- 【leetcode 簡單】 第六十八題 二叉搜尋樹的最近公共祖先LeetCode
- 演算法學習筆記(5): 最近公共祖先(LCA)演算法筆記
- POJ 1330 LCA最近公共祖先 離線tarjan演算法演算法
- 0235-二叉搜尋樹的最近公共祖先
- 樹上問題/簡單演算法 LCA【最近公共祖先】演算法
- LeetCode 236. 二叉樹的最近公共祖先 極限效能演算法 比LeetCode 99%還快50倍LeetCode二叉樹演算法
- # 劍指 Offer 68 - II. 二叉樹的最近公共祖先二叉樹
- Google S2 中的四叉樹求 LCA 最近公共祖先Go
- 236、二叉樹的最近公共祖先 | 演算法(leetcode,附思維導圖 + 全部解法)300題二叉樹演算法LeetCode
- 二叉搜尋樹和二叉樹的最近公共祖先二叉樹
- 樹上公共祖先(LCA)
- lc235.二叉搜尋樹的最近公共祖先【①分別得到祖先序列,然後比較;②***同時查詢,找出分岔結點】
- 二叉樹:距離最近的共同祖先二叉樹
- 8.3考試總結(NOIP模擬19)[最長不下降子序列·完全揹包問題·最近公共祖先]
- JZ-076-樹中兩個節點的最低公共祖先
- 每日leetcode——最長公共字首LeetCode
- LeetCode最長公共字首(Python)LeetCodePython
- leetcode14.最長公共字首LeetCode
- LeetCode-14. 最長公共字首LeetCode
- #LeetCode14. 最長公共字首 @FDDLCLeetCode
- LeetCode 1143.最長公共子序列LeetCode
- #力扣 LeetCode面試題 04.08. 首個共同祖先 @FDDLC力扣LeetCode面試題
- LeetCode——python3最長公共字首——2020.11.24LeetCodePython
- Leetcode刷題之 【最近的請求次數】LeetCode
- 程式碼隨想錄day18 || 530 二叉搜尋樹最小差,501 二叉搜尋樹眾數,236 二叉搜尋樹最近公共祖先
- LeetCode - 014 - 最長公共字首(longest-common-prefix)LeetCode
- LeetCode每日一題:最長公共字首(No.14)LeetCode每日一題
- leetcode爬坑史(一)-- [14] 最長公共字首LeetCode