algorithm/算法/learn/体系/31.Morris遍历.md

527 B

Morris遍历细节 假设来到当前节点cur,开始时cur来到头结点的位置

  1. 如果cur没有左孩子,cur向右移动(cur=cur.right)
  2. 如果cur有左孩子,找到左子树上最右的节点mostRight: a. 如果mostRight的右指针指向空,让其指向cur,然后cur向左移动(cur=cur.left) b. 如果mostRight的右指针指向cur,让其指向null,然后cur向右移动(cur = cur.right)
  3. cur为空时停止遍历

需要左右树信息强整合则必须二叉树递归套路,否则,可以用Morris遍历.