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.
思考:DFS.
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: bool DFS(TreeNode *p,TreeNode *q) { if((p&&!q)||(!p&&q)) return false; if(p&&q) { if(p->val!=q->val) { return false; } return DFS(p->left,q->left)&&DFS(p->right,q->right); } } bool isSameTree(TreeNode *p, TreeNode *q) { return DFS(p,q); } };