public static void Main()
var list = new LinkedList.ListNode(4)
{Next = new LinkedList.ListNode(5)
{Next = new LinkedList.ListNode(6)
{Next = new LinkedList.ListNode(1)
{Next = new LinkedList.ListNode(2)
{Next = new LinkedList.ListNode(4)}}}}};
LinkedList linkedList = new LinkedList();
linkedList.HeadNode = list;
var result = linkedList.PairReverce(list);
linkedList.HeadNode = result;
public ListNode FistNode;
public ListNode SecondNode;
public ListNode(int value)
public ListNode PairReverce(ListNode head)
var secondNode = head.Next;
var next = secondNode.Next;
secondNode.Next = firstNode;
if (next == null || next.Next == null)
firstNode.Next = next.Next;
secondNode = firstNode.Next;
ListNode currentListNode = HeadNode;
while (currentListNode != null)
Console.Write("{0} ", currentListNode.Value);
currentListNode = currentListNode.Next;