判断给定的两颗树是否相等。即对应位置的对应值是否都相等。node
同时逐个遍历,一遇到不相等的就直接返回false。this
二叉树的遍历就不细说了。.net
<?php /** * Definition for a binary tree node. * class TreeNode { * public $val = null; * public $left = null; * public $right = null; * function __construct($value) { $this->val = $value; } * } */ class Solution { /** * @param TreeNode $p * @param TreeNode $q * @return Boolean */ function isSameTree($p, $q) { if(is_null($p) && is_null($q)){ return true; } if((is_null($p) && !is_null($q)) || (!is_null($p)&&is_null($q))){ return false; } if($p->val !== $q->val){ return false; } $l = $this->isSameTree($p->left, $q->left); if($l === false){ return false; } $r = $this->isSameTree($p->right, $q->right); if($r === false){ return false; } return true; } }
若以为本文章对你有用,欢迎用爱发电资助。code