首页 > 代码库 > Same Tree 判断相同树

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.

 

判断两棵树是否相同和之前的判断两棵树是否对称都是一样的原理,利用深度优先搜索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 isSameTree(TreeNode *p, TreeNode *q) {        if (!p && !q) return true;        if ((p && !q) || (!p && q) || (p->val != q->val)) return false;        return isSameTree(p->left, q->left) && isSameTree(p->right, q->right);    }};

 

Same Tree 判断相同树