Before:
+----+----+ +----+----+
list ----> | 1 | +----> | 2 | / |
+----+----+ +----+----+
+----+----+ +----+----+
temp ----> | 3 | +----> | 4 | / |
+----+----+ +----+----+
After:
+----+----+ +----+----+ +----+----+ +----+----+
list ----> | 1 | +----> | 3 | +----> | 4 | +- --> | 2 | /
+----+----+ +----+----+ +----+----+ +----+----+
这就是我到目前为止所拥有的......
List.next = temp;
Temp.next = list.next.next;
我不明白使用 .next
和 .next.next
的概念。
任何帮助将不胜感激!
最佳答案
一般来说,变量(例如list
)指的是第一个“节点”。因此 list
的值为 1,list.next
的值为 2。
当您执行list.next = temp;
时,这是正确的,但是您应该首先确保您拥有对该值的引用2,因为一旦将 list.next
的值重置为 temp
,您将丢失引用。您可以通过创建另一个变量 x
并将其设置为等于 list.next
(2) 来解决此问题。
然后,当您调用 list.next = temp;
时,您将得到以下结果:
+----+----+
x ----> | 2 | / |
+----+----+
+----+----+ +----+----+ +----+----+
list ----> | 1 | +----> | 3 | +----> | 4 | /
+----+----+ +----+----+ +----+----+
之后,您可以使用 .next
表示法来获取对 4 值节点的引用,并将其设置为等于 x
(list.next.next.next = x;
)。
多次使用 .next
可能会有点笨拙,因此如果它对您来说更有意义,您可以简单地创建一个新变量并将其设置为 list.next
,重复直到获得所需节点的引用(例如 y = list.next;
(3)、y = y.next;
(4))。
关于java - 如何使用java中的一到两行代码将给定的Before链接转换为After链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58842245/