计算给定二叉树的所有左叶子之和。
示例:
/**
* 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 $root
* @return Integer
*/
function sumOfLeftLeaves($root) {
$p = $root;
$sum = 0;
$node_arr = [];
while($p || !empty($node_arr)){
if($p){
array_push($node_arr,$p);
$p = $p->right;
}else{
$pop = array_pop($node_arr);
$p = $pop->left;
if(empty($p->left) && empty($p->right)){
$sum += $p->val;
}
}
}
return $sum;
}
}