【问题标题】:Reverse linked list AND each string in each node itself反向链表和每个节点本身的每个字符串
【发布时间】:2017-11-05 02:15:42
【问题描述】:

我完全没有想法。所以我有一个链表,其中每个节点本身都是一个字符串,我想返回一个反转它的新 Ob 对象。例如,如果原始文件有两个节点,“abcd”和“def”,结果将是“fed”和“dcba”(与“def”和“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; 
}

非常感谢任何帮助!

【问题讨论】:

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    相关资源
    最近更新 更多