Skip to content

Latest commit

 

History

History
19 lines (17 loc) · 731 Bytes

100. Same Tree.md

File metadata and controls

19 lines (17 loc) · 731 Bytes

思路

判断两棵树是否完全相同。最简单的思路就是递归算法,两棵树非空树完全相同的充要条件是:

  • 根的值相同;
  • 且左子树和右子树都是分别完全相同的。

当然也可以考虑遍历两棵树直到遇到不相同的节点即可返回false,若同时遍历完则返回true。

C++

class Solution {
public:
    bool isSameTree(TreeNode* p, TreeNode* q) {
        if(p == NULL && q==NULL) return true;  // 都是空树
        if(p == NULL || q == NULL || (p -> val != q -> val)) return false;
        return isSameTree(p -> left, q -> left) && isSameTree(p -> right, q -> right);
    }
};