【发布时间】: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;
}
非常感谢任何帮助!
【问题讨论】:
-
您的代码不是minimal reproducible example,因此回答涉及猜测。我假设
Node不会覆盖toString()。它应该。
标签: java linked-list nodes stringbuilder singly-linked-list