力扣 對稱二叉樹

2021-10-08 18:40:57 字數 680 閱讀 1376

思路:我們可以實現這樣乙個遞迴函式,通過「同步移動」兩個指標的方法來遍歷這棵樹,pp 指標和 qq 指標一開始都指向這棵樹的根,隨後 pp 右移時,qq 左移,pp 左移時,qq 右移。每次檢查當前 pp 和 qq 節點的值是否相等,如果相等再判斷左右子樹是否對稱。

class

solution

bool

issymmetric

(treenode* root)

};

思路:「方法一」中我們用遞迴的方法實現了對稱性的判斷,那麼如何用迭代的方法實現呢?首先我們引入乙個佇列,這是把遞迴程式改寫成迭代程式的常用方法。初始化時我們把根節點入隊兩次。每次提取兩個結點並比較它們的值(佇列中每兩個連續的結點應該是相等的,而且它們的子樹互為映象),然後將兩個結點的左右子結點按相反的順序插入佇列中。當隊列為空時,或者我們檢測到樹不對稱(即從佇列中取出兩個不相等的連續結點)時,該演算法結束。

class

solution

return

true;}

bool

issymmetric

(treenode* root)

};

力扣題解 對稱二叉樹

題目 給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 1,2,2,3,4,4,3 是對稱的。但是 1,2,2,null,3,null,3 則不是映象對稱的 public class solution treenode left root.left treenode right root.rig...

力扣OJ題 對稱二叉樹

給定乙個二叉樹,檢查它是否是映象對稱的。二叉樹 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 把它直接看成只有三個節點 根節點,左子樹,右子樹 的樹,不需要展開,直接呼叫。這個題需要兩個方...

力扣 101 對稱二叉樹

一 題目描述 給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 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 二 解題思路 遞迴思想。1 先判斷根節點是否為空節點 2 判斷左子樹a和右...