1 bool compare(Node* left, Node* right) { 2 if (left == NULL && right != NULL) return false; 3 else if (left != NULL && right == NULL) return false; 4 else if (left == NULL && right == NULL) return true; 5 // 排除了空节点,再排除数值不相同的情况 6 else if (left->data_ != right->data_) return false; 7 return compare(left->left, right->right)&& compare(left->right, right->left); 8 }
思路:判断根节点的左右右子节点是否相等,然后判断左子节点的左子结点和右子节点的右子节点是否相等,左子节点的右子结点和右子节点的左子节点是否相等(规模更小的子问题)
                    
                
                
            
        
浙公网安备 33010602011771号