LeetCode.Code.SwapNodesInPairs.ListNode CreateList(int[] array)
        {
            var result = new LeetCode.Code.SwapNodesInPairs.ListNode(0);
            var currentNode = result;
            foreach (var item in array)
            {
                currentNode.next = new SwapNodesInPairs.ListNode(item);
                currentNode = currentNode.next;
            }

            return result.next;
        }
        public void SwapPairs()
        {
            var arrayLength = 100;
            var array = new int[arrayLength];
            var list = new LeetCode.Code.SwapNodesInPairs.ListNode(0);
            var currentNode = list;
            for (var index = 0; index < arrayLength; index++)
                currentNode = currentNode.next = new SwapNodesInPairs.ListNode(array[index] = index);

            this.AssertRight(swapNodesInPairs.SwapPairs(list.next), array);
            this.AssertRight(null, new int[0]);
            this.AssertRight(new LeetCode.Code.SwapNodesInPairs.ListNode(0), new int[] { 0 });
        }