中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python對稱二叉樹該如何理解

發布時間:2021-12-13 16:35:24 來源:億速云 閱讀:140 作者:柒染 欄目:大數據

這期內容當中小編將會給大家帶來有關python對稱二叉樹該如何理解,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

題目描述

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

例如,二叉樹 [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

  • 遞歸過程:

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

    • 判斷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對稱二叉樹該如何理解了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

尼玛县| 东方市| 布尔津县| 龙南县| 钦州市| 筠连县| 江山市| 舟曲县| 翁源县| 察隅县| 辽宁省| 马鞍山市| 重庆市| 台北市| 吴桥县| 横峰县| 河池市| 昌都县| 佛冈县| 平顶山市| 冷水江市| 东兰县| 新安县| 嘉禾县| 资兴市| 淳安县| 乌鲁木齐县| 阿勒泰市| 浮山县| 米林县| 姜堰市| 丰县| 民乐县| 莱芜市| 威宁| 嫩江县| 屯门区| 靖江市| 吴川市| 阳曲县| 铜陵市|