:type head: ListNode :rtype: ListNode """ node = head; result = node; previous = None; while node != None: nextNode = node.next; if nextNode != None: node.next = nextNode.next; nextNode.next = node; if node == head: result = nextNode; if previous != None: previous.next = nextNode; previous = node; node = node.next; return result; list = [1,2,3,4,5]; controller = ListNodeController(); controller.addAll(list); listString = controller.toString(); result = Solution().swapPairs(controller.getHead()); resultController = ListNodeController(result); print '%s = %s' % (listString , resultController.toString());