題目描述:spa
個人思路:code
由題目描述可知,題目是要求將第一個與第二個節點,第三個與第四節點....進行交換,而進行交換時只用將節點的值進行交換便可。須要注意的是:當鏈表爲null或者當鏈表只有一個節點時就沒有可進行交換的另外一個節點,就能夠直接將該鏈表返回。blog
個人代碼:it
1 /** 2 * Definition for singly-linked list. 3 * public class ListNode { 4 * int val; 5 * ListNode next; 6 * ListNode(int x) { val = x; } 7 * } 8 */ 9 10 11 public class Solution { 12 /* 13 * @param head: a ListNode 14 * @return: a ListNode 15 */ 16 public ListNode swapPairs(ListNode head) { 17 // write your code here 18 if(head == null) { 19 return null; 20 } 21 if(head.next == null) { 22 return head; 23 } 24 ListNode h = head; 25 ListNode p = head.next; 26 while(p != null) { 27 //交換兩個節點的值 28 int temp = head.val; 29 head.val = p.val; 30 p.val = temp; 31 head = p.next; 32 if(head != null) { 33 p = head.next; 34 }else { 35 p = null; 36 } 37 } 38 return h; 39 } 40 }
以上面的例題爲例:io