反向链表和每个节点本身的每个字符串

时间:2017-11-05 02:15:43

标签: java linked-list nodes stringbuilder singly-linked-list

我想出了所有的想法。所以我有一个链表,其中每个节点本身都是一个字符串,我想返回一个新的Ob对象,使其反转。例如,如果原始节点有两个节点," abcd"和" def",结果将是" fed"和" dcba" (而不是" def"和#34; abcd")。 myFirst是我之前定义/初始化并引用头部的变量。我想我可能有一些类型的问题,因为它告诉我,而不是[feddcba]我得到[Ob $ Node @ 4465dade] ...我估计与记忆有关吗?由于Ob实现了Obj,我知道问题不在于返回Ob对象而不是Obj(实际上它在指南中用于返回新创建的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; 
}

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

在java中,打印对象会打印对象的哈希码Ob $ Node @ 4465dade。我想你会想要调用对象的toString方法来获取值feddcba。