Easy
Given the root
of a binary tree, return the inorder traversal of its nodes’ values.
Example 1:
Input: root = [1,null,2,3]
Output: [1,3,2]
Example 2:
Input: root = []
Output: []
Example 3:
Input: root = [1]
Output: [1]
Example 4:
Input: root = [1,2]
Output: [2,1]
Example 5:
Input: root = [1,null,2]
Output: [1,2]
Constraints:
[0, 100]
.-100 <= Node.val <= 100
Follow up: Recursive solution is trivial, could you do it iteratively?
/**
* Definition for a binary tree node.
* class TreeNode {
* public $val = null;
* public $left = null;
* public $right = null;
* function __construct($val = 0, $left = null, $right = null) {
* $this->val = $val;
* $this->left = $left;
* $this->right = $right;
* }
* }
*/
class Solution {
/**
* @param TreeNode $root
* @return Integer[]
*/
public function inorderTraversal($root) {
if ($root == null) {
return array();
}
$answer = array();
$this->inorderTraversalLocal($root, $answer);
return $answer;
}
function inorderTraversalLocal($root, &$answer) {
if ($root == null) {
return;
}
if ($root->left != null) {
$this->inorderTraversalLocal($root->left, $answer);
}
array_push($answer, $root->val);
if ($root->right != null) {
$this->inorderTraversalLocal($root->right, $answer);
}
}
}