D45 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;
}
}
複製程式碼
若覺得本文章對你有用,歡迎用愛發電資助。