leetcode 劍指offer28 對稱的二叉樹

2021-10-05 20:44:49 字數 848 閱讀 5829

請實現乙個函式,用來判斷一棵二叉樹是不是對稱的。如果一棵二叉樹和它的映象一樣,那麼它是對稱的。

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

輸入:root = [1,2,2,3,4,4,3]

輸出:true

示例 2:

輸入:root = [1,2,2,null,3,null,3]

輸出:false

限制:0 <= 節點個數 <= 1000

思路:與其他的二叉樹遍歷的題目不同的是,該題目類似於需要進行兩路遞迴,因為在判斷一對節點是對稱的,需要分別判斷這一對的左右和右左是否相等,滿足條件之後需要分別向下,即乙個向左乙個向右成對的向下遞迴,進行判斷。步驟如下:

根節點左右子節點是否對稱;

左右節點分別向下遍歷,即判斷相對應的節點的子節點是否相對應;

遍歷到樹的底部時,同時為空返回true否則返回false。

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

bool

helper

(treenode* a,treenode* b)

};

leetcode 劍指 Offer 專題(七)

劍指 offer 專題第七部。題目 劍指 offer 66.構建乘積陣列。定義 begin v 1 i prod a k a 0 times a 1 times dots times a i 1 quad v 1 0 1 v 2 i prod a k a i 1 times dots times a...

leetcode劍指offer 字串

二叉樹,鍊錶,字串 思路 進行兩次反轉 1.對整個句子反轉 2.對句子中的單詞反轉 經過三次反 1.反轉前面的字串。2.反轉後面的字串。3.反轉整個字串 不能直接用力扣46全排列的 力扣46是無重複的數字,這個題是有重複的。正確的解法 不用not in tmp來判斷這個字母是否需要遍歷,定義乙個us...

Leetcode劍指offer系列 平衡二叉樹

傳送門 輸入一棵二叉樹的根節點,判斷該樹是不是平衡二叉樹。如果某二叉樹中任意節點的左右子樹的深度相差不超過1,那麼它就是一棵平衡二叉樹。示例 1 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回 true 示例 2 給定二叉樹 1,2,2,3,3,null,nul...