给出两个二叉树,请写出一个判断两个二叉树是否相等的函数。
判断两个二叉树相等的条件是:两个二叉树的结构相同,并且相同的节点上具有相同的值。
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.
<?php
class Node{
public $left = null;
public $right = null;
public $val;
public function __construct($val) {
$this->val = $val;
}
}
function isSameTree($node1, $node2) {
if ($node1 == null && $node2 == null) {
return true;
}
return ($node1->val == $node2->val) && isSameTree($node1->left, $node2->left) && isSameTree($node1->right, $node2->right);
}
$node1 = new Node(1);
$node2 = new Node(2);
$node3 = new Node(3);
$node4 = new Node(4);
$node5 = new Node(5);
$node1->left = $node2;
$node1->right = $node3;
$node3->left = $node4;
$node2->right = $node5;
$node6 = new Node(1);
$node7 = new Node(2);
$node8 = new Node(3);
$node9 = new Node(4);
$node10 = new Node(5);
$node6->left = $node7;
$node6->right = $node8;
$node8->left = $node9;
$node7->right = $node10;
$ret = isSameTree($node1, $node6);
print intval($ret);