Skip to content

Commit 2d16a34

Browse files
committed
二叉树存放在栈中的顺序可以调换的;镜子对称的本质
1 parent dfd3e66 commit 2d16a34

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

Tree/Symmetric Tree

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
就只想到 广度遍历,然后检查每一层上的节点。。甚至是要回文似的判断,其实思维再转一下,其关键是镜子效应,left->left == right->right
2+
和 left->right == right->left 所以以此为小分支递归下去,同样也可以以这样的顺序存放在栈中,直接判断相等后再将相应的节点存入
3+
关于二叉树的灵活应用
4+
5+
class Solution {
6+
private:
7+
bool leftRight(TreeNode *left,TreeNode *right)
8+
{
9+
if(!left && !right)
10+
return true;
11+
if(!left || !right)
12+
return false;
13+
if(left->val != right ->val)
14+
return false;
15+
return leftRight(left->left,right->right) && leftRight(left->right,right->left);
16+
}
17+
18+
public:
19+
bool isSymmetric(TreeNode *root) {
20+
return root == nullptr? true: leftRight(root->left,root->right);
21+
22+
}
23+
};

0 commit comments

Comments
 (0)