Java for LeetCode 024 Swap Nodes in Pairs

Given a linked list, swap every two adjacent nodes and return its head.

For example,
Given 1->2->3->4, you should return the list as 2->1->4->3.

Your algorithm should use only constant space. You may not modify the values in the list, only nodes itself can be changed.

解题思路:

感觉和前几题很类似,直接实现即可,JAVA代码如下:

public ListNode swapPairs(ListNode head) {
		ListNode result = new ListNode(0), index = result;
		if (head == null)
			return result.next;
		while (head.next != null) {
			index.next = new ListNode(head.next.val);
			index = index.next;
			index.next = new ListNode(head.val);
			index = index.next;
			head = head.next.next;
			if (head == null)
				return result.next;
		}
		index.next = new ListNode(head.val);
		return result.next;
	}

 

posted @ 2015-05-03 18:03  TonyLuis  阅读(129)  评论(0编辑  收藏  举报