Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- meth isBalanced($)
- local NumLeave A L R X Y in
- fun{NumLeave T}
- local A B in
- if {T getLeft($)} == leaf then A = 1
- else A = {NumLeave {T getLeft($)}}
- end
- if {T getRight($)} == leaf then B = 1
- else B = {NumLeave {T getRight($)}}
- end
- A + B
- end
- end
- if @right == leaf then R = true X = 1
- else R = {@right isBalanced($)} X = {NumLeave @right}
- end
- if @left == leaf then L = true Y = 1
- else L = {@left isBalanced($)} Y = {NumLeave @left}
- end
- A = X - Y
- if A < 2 andthen ~2 < A andthen R andthen L then true
- else false
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement