2017-11-05 11 views
0

私はすべてのアイデアがありません。だから私は、各ノード自体が文字列であるリンクされたリストを持っています。逆の新しいObオブジェクトを返したいと思います。たとえば、オリジナルに2つのノード「abcd」と「def」がある場合、結果は「fed」と「dcba」(「def」と「abcd」ではなく)になります。 myFirstは、先に定義/初期化してヘッドを参照する変数です。私は[feddcba]の代わりに私が[Ob $ Node @ 4465dade]を得ていると言っているので、型の問題があるかもしれないと思います。 ObはObjを実装しているので、問題はObjとは対照的にObオブジェクトを返すことではないことが分かります(実際には新しく作成されたObオブジェクトを返すガイドラインにあります)。逆リンクリストと各ノード内の各文字列

public Obj reverse() { 
    Node before = null; 
    Node tmp = myFirst; 
    while (tmp != null) { 
     StringBuilder copy = new StringBuilder(tmp.info); 
     copy.reverse(); 
     String str = new String(copy.toString()); 
     tmp.info = str; 
     Node next = tmp.next; 
     tmp.next = before; 
     before = tmp; 
     tmp = next; 
    } 
    Ob ret = new Ob(before.toString()); //note Ob implements Obj 
    return ret; 
} 

ご協力いただきありがとうございます。

+0

あなたのコードは[mcve]ではないので、回答には推測が含まれます。 'Node'は' toString() 'をオーバーライドしないと仮定します。そうすべき。 – c0der

答えて

0

Javaでは、オブジェクトを印刷すると、オブジェクトのハッシュコードOb $ Node @ 4465dadeが出力されます。私はあなたが値、feddcbaを取得するオブジェクトのtoStringメソッドを呼び出すと思います。

関連する問題