How to determine if binary tree is balanced?

前端 未结 27 1530
萌比男神i
萌比男神i 2020-11-30 16:11

It\'s been a while from those school years. Got a job as IT specialist at a hospital. Trying to move to do some actual programming now. I\'m working on binary trees now, a

27条回答
  •  不知归路
    2020-11-30 16:53

    Bonus exercise response. The simple solution. Obviously in a real implementation one might wrap this or something to avoid requiring the user to include height in their response.

    IsHeightBalanced(tree, out height)
        if (tree is empty)
            height = 0
            return true
        balance = IsHeightBalanced(tree.left, heightleft) and IsHeightBalanced(tree.right, heightright)
        height = max(heightleft, heightright)+1
        return balance and abs(heightleft - heightright) <= 1     
    

提交回复
热议问题