private void button7_Click(object sender, EventArgs e)
        {
            //http://www.jusfortechies.com/java/core-java/deepcopy_and_shallowcopy.php

            RandomNode node1 = new RandomNode(1);
            RandomNode node2 = new RandomNode(2);
            RandomNode node3 = new RandomNode(3);
            RandomNode node4 = new RandomNode(4);

            node1.Next = node2;
            node2.Next = node3;
            node3.Next = node4;

            //set random pointers
            node1.Random = node3;
            node2.Random = node4;
            node3.Random = node4;
            node4.Random = node1;


            //Now we created linkedlist with next and random pointer..

            RandomNode duplicate = deepCopy(node1);

            this.textBox8.Text = NodeHelper.GetStringByRandomNode(duplicate);
        }
        private void button6_Click(object sender, EventArgs e)
        {
            //http://rajpal.x10.mx/copy-a-linked-list-with-next-and-random-pointer/


            RandomNode node1 = new RandomNode(1);
            RandomNode node2 = new RandomNode(2);
            RandomNode node3 = new RandomNode(3);
            RandomNode node4 = new RandomNode(4);

            node1.Next = node2;
            node2.Next = node3;
            node3.Next = node4;

            //set random pointers
            node1.Random = node3;
            node2.Random = node4;
            node3.Random = node4;
            node4.Random = node1;


            //Now we created linkedlist with next and random pointer..

            RandomNode duplicate = DuplicateLinkedListWithRandomNode(node1);

            this.textBox8.Text = NodeHelper.GetStringByRandomNode(duplicate);
        }