알고리즘 스터디 - red black tree에서 black height 확인하는 문제
2015-09-02
- Tree의 각 노드의 색깔은 red 혹은 black이다.
-
Leaf node가 가리키는 Null은 모두 black으로 간주한다.
int checkBlackHeight(Node node) { if(node == null) return 0; int left = checkBlackHeight(node.left); int right = checkBlackHeight(node.right); if( left == -1 || right == -1) return -1; // 처음에 이 부분 빼먹었었다. if(node.left == null || node.left.color == Color.BLACK) left++; if(node.right == null || node.right.color == Color.BLACK) right++; if(left != right) return -1; return left; }