比如,对于下面这个二叉树,它所有的路径为:
8 -> 3 -> 1
8 -> 2 -> 6 -> 4
8 -> 3 -> 6 -> 7
8 -> 10 -> 14 -> 13
怎么用Java去实现?
阿神2017-04-18 10:53:58
再帰が必要ない場合は、最初に深さを使用してください。
スタックを使用して、スタックが空でない場合は、最初にルート ノードをスタックにプッシュし、現在のノードの中央値を出力します。次に、最初に右側のサブツリーをスタックにプッシュし、次に左側のサブツリーをプッシュします。スタックに追加し、スタックが空かどうかを判断し、ループします... 手順は次のとおりです:
1) まずバイナリ ツリーのルート ノードをスタックにプッシュします
2) スタックが空かどうかを判断します (そうでない場合)。 、スタックからポップしてポップツリーを出力します ノードの値
3) ポップツリーノードの右のサブツリーがスタックにプッシュされます
4) ポップツリーノードの左のサブツリーがスタックにプッシュされます
5) (2)にループバックします
これはメソッドの前に見たものですが、質問者さんの助けになるでしょうか?
リーリー