在C#中,我們可以通過遞歸的方法來找到二叉樹中兩個節點的最近公共祖先。具體步驟如下:
下面是C#代碼實現:
public TreeNode LowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
if(root == null || root == p || root == q) {
return root;
}
TreeNode left = LowestCommonAncestor(root.left, p, q);
TreeNode right = LowestCommonAncestor(root.right, p, q);
if(left != null && right != null) {
return root;
} else if(left != null) {
return left;
} else {
return right;
}
}
在代碼中,TreeNode表示二叉樹的節點,包含左右子樹和值等屬性。我們調用LowestCommonAncestor函數,傳入樹的根節點root以及要查找的兩個節點p和q,即可找到它們的最近公共祖先。