python對稱二叉樹該如何理解

這期內容當中小編將會給大家?guī)碛嘘Ppython對稱二叉樹該如何理解,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯公司為您提適合企業(yè)的網站設計?讓您的網站在搜索引擎具有高度排名,讓您的網站具備超強的網絡競爭力!結合企業(yè)自身,進行網站設計及把握,最后結合企業(yè)文化和具體宗旨等,才能創(chuàng)作出一份性化解決方案。從網站策劃到成都網站建設、成都網站設計, 我們的網頁設計師為您提供的解決方案。

題目描述

給定一個二叉樹,檢查它是否是鏡像對稱的。

例如,二叉樹 [1,2,2,3,4,4,3] 是對稱的。

    1   / \  2   2 / \ / \3  4 4  3
 

但是下面這個 [1,2,2,null,3,null,3] 則不是鏡像對稱的:

    1   / \  2   2   \   \   3    3


解題方案

 

思路

  • 標簽:dfs

  • 遞歸結束條件:

    • 都為空指針則返回true

    • 只有一個為空則返回false

  • 遞歸過程:

    • 判斷兩個指針當前節(jié)點值是否相等

    • 判斷A的右子樹與B的左子樹是否對稱

    • 判斷A的左子樹與B的右子樹是否對稱

  • 短路:在遞歸判斷過程中存在短路現象,也就是做操作時,如果前面的值返回false則后面的不再進行計算

  • 時間復雜度:O(n)

python對稱二叉樹該如何理解  
算法動圖
 

代碼

class Solution {    public boolean isSymmetric(TreeNode root) {        return isMirror(root, root);    }
   public boolean isMirror(TreeNode t1, TreeNode t2) {        if (t1 == null && t2 == null) return true;        if (t1 == null || t2 == null) return false;        return (t1.val == t2.val)            && isMirror(t1.right, t2.left)            && isMirror(t1.left, t2.right);    }}
    

上述就是小編為大家分享的python對稱二叉樹該如何理解了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道。

網頁題目:python對稱二叉樹該如何理解
鏈接分享:http://muchs.cn/article40/ippceo.html

成都網站建設公司_創(chuàng)新互聯,為您提供關鍵詞優(yōu)化、搜索引擎優(yōu)化、定制網站、建站公司、小程序開發(fā)、微信小程序

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

網站托管運營