有人可以向我解释这个二叉树代码

时间:2017-04-25 19:12:19

标签: c++ data-structures binary-tree nodes

enter image description here

我只了解第一步。它表示* tmp =包含数据的节点(7)。

1 个答案:

答案 0 :(得分:6)

如果你绘制出每个步骤,应该很容易看出发生了什么:

  1. Node *tmp = root->right->left;
  2. step 1

    1. root->right->left = tmp->right;
    2. step 2

      1. tmp->right = root->right;
      2. step 3

        1. root->right = tmp->left;
        2. step 4

          1. tmp->left = root;
          2. step 5

            1. root = tmp;
            2. step 6