链接:https://leetcode.com/problems/symmetric-tree/
此题就是判断一棵二叉树是否为对称二叉树,刚开始以为中序遍历输出,然后看是否是为回文字串,但是这种思路是错了,如[1,2,3,#,3,#,2].
代码如下:
通过判断左孩子的左子树与右孩子的右子树 及 左孩子的右子树与右孩子的左子树
class Solution {
public:
bool isJudging(TreeNode *nodeLeft, TreeNode *nodeRight){
if(nodeLeft != NULL && nodeRight != NULL && nodeLeft->val == nodeRight->val){
return isJudging(nodeLeft->left, nodeRight->right) & isJudging(nodeLeft->right, nodeRight->left);
}
else if(nodeLeft == NULL && nodeRight == NULL)
return true;
else return false;
}
bool isSymmetric(TreeNode *root) {
if(root == NULL) return true;
return isJudging(root->left, root->right);
}
};原文地址:http://blog.csdn.net/lu597203933/article/details/44835769