Leetcode PHP題解--D45 D45 872. Leaf-Similar Trees

skys215發表於2019-04-28

D45 872. Leaf-Similar Trees

題目連結

872. Leaf-Similar Trees

題目分析

如果一個二叉樹的左節點的後輩節點之和等於右節點的後輩節點,那麼稱該樹為子節點相似樹(直譯的)。

思路

直接遍歷左節點和右節點,遍歷完判斷左右節點之間是否相等即可。

最終程式碼

<?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 {
    function leafSimilar($root1, $root2) {
        $v1 = [];
        $this->sumVal($root1, $v1);
        $v2 = [];
        $this->sumVal($root2, $v2);
        return $v1 == $v2;
    }
    function sumVal($node, &$val){
        if($node->left){
            $this->sumVal($node->left,$val);
        }
        if($node->right){
            $this->sumVal($node->right, $val);
        }
        if(!$node->left && !$node->right){
            $val[]= $node->val;
        }
        return $val;
    }
}
複製程式碼

若覺得本文章對你有用,歡迎用愛發電資助。

相關文章