1

というクラスがありNodeます。

public Node
{
    public int data;
    public Node primaryNext;
    public Node secondaryNext;
}

入力から最初の値をNode root = null;受け取ると、次のように実行されます。

root = new Node;
root.data = /*input*/ ;
root.primaryNext = null;
root.secondaryNext = null;

次のステップは、レベルごとに「ポインタ」ツリーを埋めながら、または新しいものをNode指すことによって、リストの最後に新しいものを追加することです。だから私はこのようなことをする必要があります:root.primaryNextroot.secondaryNextNode

アイデアのGIF。

これは、再帰的な方法でノードの各レベルに適用される ||、&&、|、& 演算子を使用して実行できると思います。そう:

  • RPN のように C# で操作するにはどうすればよいですか?
  • できるとしたら、どの方法が一番いいでしょうか?私は再帰をかなりよく理解していますが、最善の方法を実行できない可能性があります。

ありがとう。

4

1 に答える 1

0

提案:

単一のノードをスタックにプッシュする 1 つのコマンド。

スタックから最上位の 2 つのノードを取得し、それらを結合して、結果をスタックにプッシュする別のコマンド。

于 2012-09-27T22:16:04.117 に答える