2016-04-04 21 views
0

左括弧の表現から文字列を右括弧で表現する必要があります。基本的には、これはString入力を解析し、後で正しい括弧表現を再構築することを意味します。 2つのメソッドを実装する必要があります。入力を解析するメソッドと、解析された入力から必要な表現を作成するメソッドです。これは私がjavaで行う必要のある宿題の一部です。左括弧の文字列表現からツリーを構築する

私はこれをテストする方法をコード:

String s = "A(B1,C)"; 
    Node t = Node.parse (s); 
    String v = t.rightParentheticRepresentation(); 
    System.out.println (s + " ==> " + v); // A(B1,C) ==> (B1,C)A 

ので、私は2つの方法を実装する必要があります。ノードの解析(文字列S)と文字列rightParentheticRepresentation()

を私は理論的に知っている私はいくつかのアイデアを持っていますどのように私はそれをやっていくべきだが、私は解析メソッドを実装するのに苦労している。 既存の実装はありますか?実装のアプローチのヒントは非常に歓迎されているか、文字列表現からツリーを構築するための良いチュートリアルを誰かが知っているならば。

+0

@tllsdv checkout this [link](http://enos.itcollege.ee/~ylari/I231/Node.java)それは役に立つかもしれません – egima

答えて

0

まず、作成したいデータ構造を知っておく必要があります。基本的にここでは、各ノードが括弧内の内容に対応するツリーが必要です(最初の親親は暗黙的です - '(' A(B1、C) ') - )。

解析メソッドの場合:入力文字列charをcharで読み込みます。現在のノードに子を作成し、新しいノードに現在のノードを変更してから、新しいノードに変更します。閉じ括弧を満たすと、現在のノードを終了して親ノードに戻ります。 。

関連する問題