采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
刘老师你好,在LR的情况下,对X 进行左旋转后, Z的高度差为2(X(h+1),T3(h-1)),Z节点退化成不平衡的avl树,代码中好像没有对这个逻辑进行判断和处理
对LR的处理不是一个左旋转以后就结束了哦,y处在LR的位置,之后还要对y进行右旋转哦:)
这次左旋转只是把形态转成了LL的形式,之后还要按照LL的形式继续处理啊!:)
if (balanceFactor > 1 && getBalanceFactor(node.left) < 0) { node.left = leftRotate(node.left); // 对node.left左旋转 return rightRotate(node); // 之后还要对node右旋转 }
继续加油!:)
非常感谢!懂了
登录后可查看更多问答,登录/注册
动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…
10.3k 16
1.4k 17
1.3k 14
1.2k 14