平衡二叉树-的四种旋转调整(代码,图解)
1.右单旋:
新插入节点插入在较高左子树的左侧(左左右),插入新节点二十:
1.修改parent和curLR的孩子指针域
parent->left = curLR;
// 避免左单支的场景:subLR是nullptr
if (subLR)
curLR->parent = parent;
2.修改parent和curL的指针域
curL->right = parent;
3.处理旋转之前parent的双亲的孩子
// 因为parent可能是某个节点的子树,因此在更新parent的双亲前必须先将其之前的双亲记录
Node* pparent = parent->parent;
parent-