链接: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