Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.65 KB | None | 0 0
  1. bool check(const BinTree* b) {
  2. if (empty(b)) return true;
  3. int r = 0, rl = 0, rr = 0;
  4. r = root(b);
  5. if (right(b) && left(b)){
  6. rl = root(left(b));
  7. rr = root(right(b));
  8. if(rl == 2*r && rr == 2*r+1)
  9. return (check(left(b))&&check(right(b)));
  10. else return false;
  11. }
  12. else if(left(b)) {
  13. rl = root(left(b));
  14. if(rl == r * 2) return check(left(b));
  15. else return false;
  16. }
  17. else if(right(b)) {
  18. rl = root(right(b));
  19. if(rl == r * 2+1) return check(right(b));
  20. else return false;
  21. }
  22. else return true;
  23. return true;
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement