目次
ブラッシングリートコードは中間の問題段階に入り、二分探索木には従うべき問題解決スキルがあることがわかったので、ここに記録します。
1.トピック1:二分探索木の注文後のトラバーサルシーケンス(剣はオファー33を参照)
整数配列を入力して、その配列が二分探索木のポストオーダートラバーサルの結果であるかどうかを判別します。そうである場合はtrueを返し、そうでない場合はfalseを返します。入力配列内の任意の2つの数値が互いに異なると仮定します。
次の二分探索木を参照してください。
5
/ \
2 6
/ \
1 3
例:
输入: [1,6,3,2,5]
输出: false
解決:
ポストオーダートラバーサルとバイナリサーチツリーポストオーダートラバーサルの特性を把握するには:
1.ポストオーダートラバーサルの2つの特性
①最後のノードはルートノードです
②左サブツリー、右サブツリー、ルートノードが最後、最後、最後に配置されます
2.二分探索木の特徴
左側のサブツリーはルートノードよりも小さく、右側のサブツリーはルートノードよりも大きくなっています
3.二分探索木のポストオーダートラバーサルの特徴
①ルートノードは最後にあります。
②ルートノードより大きい最初の数値は右側のサブツリーにあり、配列の左側にあるすべての値は左側のサブツリーにある必要があります。右側のすべての値は右側のサブツリーにある必要があります(最後のサブツリーを除く)ルートノード)
③このようにして、左右のサブツリーで同じ判定が行われ、再帰+分割統治が行われ、判定タスクを完了することができます。
補足:二分探索木の順序通りのトラバーサル機能
二分探索木の中次走査結果は、小さいものから大きいものへと配置された順序付き配列です。