Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool check(const BinTree* b) {
- if (empty(b)) return true;
- int r = 0, rl = 0, rr = 0;
- r = root(b);
- if (right(b) && left(b)){
- rl = root(left(b));
- rr = root(right(b));
- if(rl == 2*r && rr == 2*r+1)
- return (check(left(b))&&check(right(b)));
- else return false;
- }
- else if(left(b)) {
- rl = root(left(b));
- if(rl == r * 2) return check(left(b));
- else return false;
- }
- else if(right(b)) {
- rl = root(right(b));
- if(rl == r * 2+1) return check(right(b));
- else return false;
- }
- else return true;
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement