請實現乙個函式,用來判斷一棵二叉樹是不是對稱的。如果一棵二叉樹和它的映象一樣,那麼它是對稱的。
例如,二叉樹 [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...