對稱二叉樹 leetcode101

2021-10-05 07:52:03 字數 878 閱讀 5151

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

例如,二叉樹 [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、都到達了尾節點,返回true

如果還沒又到達尾節點,那麼分兩種情況:

2、乙個節點為空,乙個不為空,返回false

3、兩個節點不相等,返回false

/**

* definition for a binary tree node.

* struct treenode

* };

*/class solution

return core(root->left,root->right);

}bool core(treenode* left, treenode* right)

if(left==null || right==null)

if(left->val != right->val)

return core(left->left, right->right) && core(left->right, right->left);}};

leetcode 二叉樹 對稱二叉樹

給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 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 方法一 遞迴 思路 如果乙個樹的左子樹與右子樹映象對稱,則該樹是對稱的 兩個樹互為映象的...

LeetCode 對稱二叉樹

給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 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 3class solution public boolean issymmetricdoubl...

LeetCode 對稱二叉樹

我的解決方案 比較笨拙,我直接按照左後根遍歷一遍,然後再按照右後根遍歷一遍,最後比較結果 class treenode public class solution string ltreetostring tree.left,string string ltreetostring tree.righ...