100. Same Tree 101. Symmetric Tree

来源:互联网 发布:知茵女装 编辑:程序博客网 时间:2024/05/17 07:29

100. Same Tree

Given two binary trees, write a function to check if they are equal or not.

Two binary trees are considered equal if they are structurally identical and the nodes have the same value.

题解: 题意是判断两个二叉树是否相等,题目也很简单,解法也很普遍,就是判断节点是否相等,左子树与右子树;但是对于理解递归是很好的习题,而且,可以有很多演变题型;

class Solution {public:    bool isSameTree(TreeNode* p, TreeNode* q) {       if(p == NULL || q == NULL) return p == q;       return (p->val == q->val)&&isSameTree( p->left, q->left)&&isSameTree(p->right,q->right);}};

这基本是最优解也是标准解了。


101. Symmetric Tree

Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).

题解:题意是判断一个树是否是对称树,其实这道题可以是上面问题的变形,因为可以转化为两个子树是否关于中心轴相等的问题;其实也是一样,只是判断的条件从 right == right 变成了 left == right的改变;