Сложность: easy
Дан корень бинарного дерева. Верните обход значений его узлов в симметричном порядке.
Пример:
Input: root = [1,null,2,3]
Output: [1,3,2]
👨💻 Алгоритм:
1⃣Если узел пустой — ничего не делаем.
2⃣Рекурсивно вызываем обход для левого поддерева.
3⃣Добавляем значение текущего узла и затем рекурсивно вызываем обход для правого поддерева.
😎 Решение:
class TreeNode {
public $val;
public $left;
public $right;
public function __construct($val = 0, $left = null, $right = null) {
$this->val = $val;
$this->left = $left;
$this->right = $right;
}
}
class Solution {
public function inorderTraversal($root) {
$res = [];
$this->helper($root, $res);
return $res;
}
private function helper($root, &$res) {
if ($root !== null) {
$this->helper($root->left, $res);
$res[] = $root->val;
$this->helper($root->right, $res);
}
}
}Ставь 👍 и забирай 📚 Базу знаний
