请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

LL和RR

	if(balanceFactor>1&&getBalanceFactor(root.left)>=0){
			return rightRotate(root);
		}
	if(balanceFactor<-1&&getBalanceFactor(root.right)<=0){
			return leftRotate(root);
	}

对于需要做平衡操的时候,为什么需要判断等于0这种情况呢?当添加一个节点使得这颗AVL树失去平衡性,那么就会做出平衡调整,所以应当不会出现等于0的情况吧

正在回答

1回答

liuyubobobo 2018-08-14 11:26:40

在添加的时候,确实不会出现0的情况,但是在删除的时候会。在后面,我们会用这里写的代码,直接处理删除的情况,所以就先把=0写上啦:)


具体也可以参考这个问答:https://coding.imooc.com/learn/questiondetail/59846.html


加油!:)

1 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信