【发布时间】:2018-02-09 22:29:52
【问题描述】:
所以 ListNodes 真的让我很困惑,我一直在尝试理解代码的 sn-ps 以了解它们是如何工作的,但是我无法理解以下反向函数,尤其是 while 循环,有人可以向我解释一下吗.
// Definition for singly-linked list:
// class ListNode<T> {
// ListNode(T x) {
// value = x;
// }
// T value;
// ListNode<T> next;
// }
//
ListNode<Integer> reverse(ListNode<Integer> l) {
if(l==null||l.next==null)
return l;
ListNode<Integer> p1 = l;
ListNode<Integer> p2 = p1.next;
l.next = null;
while(p1!=null&& p2!=null){
ListNode<Integer> t = p2.next;
p2.next = p1;
p1 = p2;
p2 = t;
}
return p1;
}
【问题讨论】:
-
这是什么语言?
-
@OmegaNalphA 它是 java
标签: linked-list reverse singly-linked-list