Leetcode T24 :两两交换链表中的节点,这样的思路为什么会出错?
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode swapPairs(ListNode head) {
if(head == null)
return null;
ListNode pre = head;
ListNode cur = head.next;
ListNode save;
while(pre != null && cur != null) {
save = cur.next;
cur = pre;
pre = save;
if(save == null || save.next == null)
break;
pre = save;
cur = save.next;
}
return head;
}
}