Morris遍历细节
假设来到当前节点cur,开始时cur来到头结点的位置
- 如果cur没有左孩子,cur向右移动(cur=cur.right)
- 如果cur有左孩子,找到左子树上最右的节点mostRight:
a. 如果mostRight的右指针指向空,让其指向cur,然后cur向左移动(cur=cur.left)
b. 如果mostRight的右指针指向cur,让其指向null,然后cur向右移动(cur = cur.right)
- cur为空时停止遍历
需要左右树信息强整合则必须二叉树递归套路,否则,可以用Morris遍历.