Tree Зворотний обхід дерева#10060

Tree Зворотний обхід дерева

1 секунда
128 мегабайтів
Легка

Реалізуйте обхід дерева у зворотному порядку (PostOrder).

Під час цього обходу спочатку відвідується ліве піддерево, потім праве піддерево, а потім корінь.

Визначення дерева:

// Java
class TreeNode {
  public:
    int val;
    TreeNode left;
    TreeNode right;
    TreeNode(int x) {
      val = x;
      left = NULL; 
      right = NULL;
    }
};
// C++
class TreeNode {
  public:
    int val;
    TreeNode *left;
    TreeNode *right;
    TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};

Реалізуйте функцію PostOrder, яка виводить в одному рядку вершини дерева у зворотному порядку обходу. Вершини слід розділяти одним пробілом.

// Java
void PostOrder(TreeNode tree)
// C++
void PostOrder(TreeNode *tree)

Приклади

prb10057.gif

Під час зворотного обходу вершини буде виведено у такому порядку: 1 3 2 9 16 10 4.