相同的樹(二叉樹)

題目:

給定兩個二叉樹,編寫一個函數來檢驗它們是否相同。

如果兩個樹在結構上相同,並且節點具有相同的值,則認爲它們是相同的。

代碼:
 

class Solution {
    public boolean isSameTree(TreeNode p, TreeNode q) {
        //一棵爲空,一棵不爲空,兩棵皆不爲空但是根節點的值不相同,則兩棵樹一定不相同
        if(p == null && q != null 
        || p != null && q == null 
        || p != null  && q != null && p.val != q.val) {
            return false;
        }
        if(p == q) {//兩顆空樹,視爲相同
            return true;
        }
        //遞歸判斷左右子樹
        return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章