Example #1
0
        public static LinkedList.LinkedNode findCommonNode(LinkedList.LinkedNode ln1, LinkedList.LinkedNode ln2)
        {
            LinkedList.LinkedNode Runner1 = ln1;
            LinkedList.LinkedNode Runner2 = ln2;

            int length1 = ln1.getLength();
            int length2 = ln2.getLength();

            if (length1 > length2)
            {
                for (int i = 0; i < length1 - length2; i++)
                {
                    Runner1 = Runner1.Next;
                }
            }
            else
            {
                for (int i = 0; i < length2 - length1; i++)
                {
                    Runner2 = Runner2.Next;
                }
            }


            while (Runner1 != Runner2)
            {
                Runner1 = Runner1.Next;
                Runner2 = Runner2.Next;
            }
            return(Runner1);
        }