1、前序遍历(中左右)
function arr($root) {
if (empty($root)) {
return [];
}
//前序遍历代码
$val= [$root->val];
$left = $this->arr($root->left);
$right = $this->arr($root->right);
//注意参数顺序
return array_merge($val, $left, $right);
}
2、中序遍历(左中右)
function arr($root) {
if (empty($root)) {
return [];
}
//中序遍历代码
$left = $this->arr($root->left);
$val= [$root->val];
$right = $this->arr($root->right);
//注意参数顺序
return array_merge($left, $val, $right);
}
3、后序遍历(左右中)
function arr($root) {
if (empty($root)) {
return [];
}
//后序遍历代码
$left = $this->arr($root->left);
$right = $this->arr($root->right);
$val= [$root->val];
//注意参数顺序
return array_merge($left, $right, $val);
}