力扣OJ題 對稱二叉樹

2021-09-27 04:05:43 字數 1079 閱讀 6714

給定乙個二叉樹,檢查它是否是映象對稱的。

二叉樹 [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.如果p這棵樹的根節點是null的並且q這棵樹的根節點也是null,雖然他們是空樹,但是他們依舊是相同的樹。

2.如果p或者q只有乙個是null,那麼直接返回false;

3.如果根節點p的val和根節點q的val值相同,並且 p 的左子樹和右子樹都與 q 的左子樹和右子樹相同(這一塊的相同直接呼叫去判斷,不需要展開,因為只要展開了就複雜了)

對呼叫的這個方法來說,首先需要先判斷他是否是空樹,如果是空樹直接返回true。接著呼叫ismirrortree這個方法來判斷這棵樹的左子樹和右子樹是否是對稱的,也就是鏡面的樹。

力扣 對稱二叉樹

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

力扣題解 對稱二叉樹

題目 給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 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...

二叉樹 力扣刷題

把二叉樹上的每乙個節點的左右子節點進行交換 definition for a binary tree node.public class treenode class solution 給定乙個 完美二叉樹 其所有葉子節點都在同一層,每個父節點都有兩個子節點。二叉樹定義如下 struct node ...