所以ListNodes真的一直困惑着我,我一直在試着理解代碼片斷,看看它們是如何工作的,但下面的反向函數我只是無法理解,特別是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
@OmegaNalphA它是java – csmajor97