我写的代码就不贴了。下面这个是discuss里看的,代码真的好简洁,而且思路清晰,并不影响阅读,学习
1 public class Solution { 2 public ListNode swapPairs(ListNode head) { 3 ListNode start = new ListNode(0); //make head no longer a special case 4 start.next = head; 5 6 for(ListNode cur = start; cur.next != null && cur.next.next != null; cur = cur.next.next) { 7 cur.next = swap(cur.next, cur.next.next); 8 } 9 return start.next; 10 } 11 private Listnode swap(ListNode next1, ListNode next2) { 12 next1.next = next2.next; 13 next2.next = next1; 14 return next2; 15 } 16 }
这个代码中最出彩的是swap这个函数的书写,交换完成之后返回需要的指针。