バイナリツリーソーティングツリーの簡単な紹介:
- ノードの左側のサブツリーにあるすべてのノードの値は、そのノードのデータ値よりも小さいです。
ノードの右側のサブツリーにあるすべてのノードの値は、そのノードのデータ値よりも大きくなっています。
以前インターネットでたくさんの人が書いているのを見たことがありますが、あなたはそれをテストしたことがありますか?テストしたケースはいくつありますか?
ハッカーランクで私のスコアテストのソースコードを書き始めましょう:
boolean checkBST(Node root) {
return checkBST(root, Integer.MIN_VALUE, Integer.MAX_VALUE);
}
boolean checkBST(Node root, int min, int max) {
if (root == null) return true;
if (root.data <= min || root.data >= max)
return false;
if (!checkBST(root.left, min, root.data) || !checkBST(root.right, root.data, max))
return false;
return true;
}
オーバーロードは、より多くの使用方法をサポートすることであり、依然として2番目の方法です。