如何使用java中的一到两行代码将给定的Before链接转换为After链接


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的值为1list.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

相关内容

  • 没有找到相关文章

最新更新