问题描述:
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
源码:
简单的递归。
/*
struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x) :val(x), left(NULL), right(NULL) {}
};*/
class Solution {
public:void Mirror(TreeNode *pRoot) {if(!pRoot) return;if(!pRoot->left && !pRoot->right) return;TreeNode *tmp = pRoot->left;pRoot->left = pRoot->right;pRoot->right = tmp;if(pRoot->left)Mirror(pRoot->left);if(pRoot->right)Mirror(pRoot->right);}
};