标签:
题目:
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.
链接: http://leetcode.com/problems/swap-nodes-in-pairs/
一刷
class Solution(object): def swapPairs(self, head): """ :type head: ListNode :rtype: ListNode """ dummy_node = ListNode(0) dummy_node.next = head prev = dummy_node cur = head
while cur and cur.next: prev.next = cur.next cur.next = cur.next.next prev.next.next = cur
prev = cur cur = cur.next return dummy_node.next
二刷需要加上recursion解法
标签:
原文地址:http://www.cnblogs.com/panini/p/5569430.html