相同的樹

目錄php

相同的樹node

給定兩個二叉樹,編寫一個函數來檢驗它們是否相同。函數

若是兩個樹在結構上相同,而且節點具備相同的值,則認爲它們是相同的。this

示例 1:

輸入:       1         1
          / \       / \
         2   3     2   3

        [1,2,3],   [1,2,3]

輸出: true
示例 2:

輸入:      1          1
          /           \
         2             2

        [1,2],     [1,null,2]

輸出: false
示例 3:

輸入:       1         1
          / \       / \
         2   1     1   2

        [1,2,1],   [1,1,2]

輸出: false

解答:code

<?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( $p->val!==$q->val ){
            return false;
        }elseif( !($p->left==null&&$q->left==null) || !($p->right==null&&$q->right==null) ){
            return self::isSameTree($p->left,$q->left)&&self::isSameTree($p->right,$q->right);
            
        }
        return true;
    }
}
相關文章
相關標籤/搜索