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

11 lines
527 B
Markdown

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遍历.