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;
}
}
相關文章
- 最近公共祖先
- 二叉樹的最近公共祖先二叉樹
- Git 中的演算法-最近公共祖先Git演算法
- 「學習筆記」tarjan 求最近公共祖先筆記
- leetcode 235. 二叉搜尋樹的最近公共祖先LeetCode
- (117)235. 二叉搜尋樹的最近公共祖先(leetcode)LeetCode
- 演算法學習筆記(5): 最近公共祖先(LCA)演算法筆記
- 樹上問題/簡單演算法 LCA【最近公共祖先】演算法
- 【leetcode 簡單】 第六十八題 二叉搜尋樹的最近公共祖先LeetCode
- POJ 1330 LCA最近公共祖先 離線tarjan演算法演算法
- # 劍指 Offer 68 - II. 二叉樹的最近公共祖先二叉樹
- Google S2 中的四叉樹求 LCA 最近公共祖先Go
- 二叉搜尋樹和二叉樹的最近公共祖先二叉樹
- 樹上公共祖先(LCA)
- LCA最近公共祖先 線上演算法和離線演算法 模板演算法
- HDU 1330 Nearest Common Ancestors(求兩個點的最近公共祖先)REST
- LeetCode 236. 二叉樹的最近公共祖先 極限效能演算法 比LeetCode 99%還快50倍LeetCode二叉樹演算法
- 236、二叉樹的最近公共祖先 | 演算法(leetcode,附思維導圖 + 全部解法)300題二叉樹演算法LeetCode
- hdu5452 || 瀋陽網路賽1003題 最近公共祖先問題
- 二叉樹:距離最近的共同祖先二叉樹
- lc235.二叉搜尋樹的最近公共祖先【①分別得到祖先序列,然後比較;②***同時查詢,找出分岔結點】
- 8.3考試總結(NOIP模擬19)[最長不下降子序列·完全揹包問題·最近公共祖先]
- 二叉樹中兩個節點的最低公共祖先二叉樹
- 每日leetcode——最長公共字首LeetCode
- 【Codeforces Round 362 (Div 2)C】【STL-map 最近公共祖先思想】Lorenzo Von Matterhorn 數域二叉樹的路徑權值變更查詢二叉樹
- LeetCode最長公共字首(Python)LeetCodePython
- leetcode14.最長公共字首LeetCode
- LeetCode-14. 最長公共字首LeetCode
- #LeetCode14. 最長公共字首 @FDDLCLeetCode
- #力扣 LeetCode面試題 04.08. 首個共同祖先 @FDDLC力扣LeetCode面試題
- [LeetCode] 3Sum Closest 最近三數之和LeetCode
- leetcode爬坑史(一)-- [14] 最長公共字首LeetCode
- LeetCode每日一題:最長公共字首(No.14)LeetCode每日一題
- LeetCode 1143.最長公共子序列LeetCode
- jQuery 遍歷 – 祖先jQuery
- 祖先樹統計
- Day21 | 530.二叉搜尋樹的最小絕對差、501.二叉搜尋樹中的眾數 、236. 二叉樹的最近公共祖先二叉樹
- 程式碼隨想錄day18 || 530 二叉搜尋樹最小差,501 二叉搜尋樹眾數,236 二叉搜尋樹最近公共祖先