最小公共祖先 I

問題: 給定個兩個節點,求它們在一棵二叉搜索樹中的最小公共祖先。

思路: 從根節點開始,找到第一個值在兩節點之間的節點,即爲最小公共祖先。

java代碼:

TreeNode LCA(TreeNode root,TreeNode p,TreeNode q){
        if(root==null||p==null||q==null)
            return null;
        if(root.val>p.val&&root.val>q.val){
            return LCA(root.left,p,q);
        }
        else if(root.val<p.val&&root.val<q.val){
            return LCA(root.right,p,q);
        }
        else{
            return root;
        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章