Beispiel #1
0
        public void IsPalindrome(ListNode head, bool expected)
        {
            var sut    = new PalindromeLinkedList();
            var actual = sut.IsPalindrome(head);

            Assert.AreEqual(expected, actual);
        }
        public void IsPalindromeTest(int[] values, bool expected)
        {
            var head = InitializeLinkedList(values);

            var actual = new PalindromeLinkedList().IsPalindrome(head);

            Assert.Equal(expected, actual);
        }
Beispiel #3
0
        public void TestPalindromeLinkedList()
        {
            var list = MyLinkList.BuildListNodeFromArray(new[] { 1, 2, 3, 4, 5, 4, 3, 2, 1 });
            var r    = PalindromeLinkedList.Check(list);

            Assert.AreEqual(r, true);

            list = MyLinkList.BuildListNodeFromArray(new[] { 1, 2, 3, 4, 4, 3, 2, 1 });
            r    = PalindromeLinkedList.Check(list);
            Assert.AreEqual(r, true);

            list = MyLinkList.BuildListNodeFromArray(new[] { 1, 2, 3, 4, 6, 7, 4, 3, 2, 1 });
            r    = PalindromeLinkedList.Check(list);
            Assert.AreEqual(r, false);

            list = MyLinkList.BuildListNodeFromArray(new[] { 1, 2, 3, 4, 6, 9, 7, 4, 3, 2, 1 });
            r    = PalindromeLinkedList.Check(list);
            Assert.AreEqual(r, false);
        }
        public void TestMethod1(int[] head, bool expected)
        {
            // Arrange
            PalindromeLinkedList question = new PalindromeLinkedList();
            ListNode             headNode = null;

            if (head != null && head.Length > 0)
            {
                headNode = new ListNode(head[0]);
                ListNode node = headNode;

                for (int i = 1; i < head.Length; i++)
                {
                    node.next = new ListNode(head[i]);
                    node      = node.next;
                }
            }

            // Act
            bool actual = question.IsPalindrome(headNode);

            // Assert
            Assert.AreEqual(expected, actual);
        }
Beispiel #5
0
        public void IsPalindromeListTestCase3()
        {
            var list = CommonHelpers.GetLinkedListFromArray(new[] { 1, 1, 2, 1 });

            PalindromeLinkedList.IsPalindrome(list).Should().BeFalse();
        }
Beispiel #6
0
 public void BeforeEach()
 {
     palindromeLinkedList = new PalindromeLinkedList();
 }
Beispiel #7
0
        static void Main(string[] args)
        {
            LinkedList cyclicList = new LinkedList();

            cyclicList.Insert(6);
            cyclicList.Insert(5);
            cyclicList.Insert(4);
            cyclicList.Insert(3);
            cyclicList.Insert(2);
            cyclicList.Insert(1);
            cyclicList.MakeCyclic(3);

            var isCyclic = CyclicLinkedList.IsCyclic(cyclicList);

            Console.WriteLine($"Is the List Cyclic: {isCyclic}");

            Console.WriteLine();

            var cyclicLength = CyclicLinkedList.FindCyclicLLLength(cyclicList.Head);

            Console.WriteLine($"Cycle Length: {cyclicLength}");

            var educativeCycleLength = CyclicLinkedList.FindCycleLength(cyclicList.Head);

            Console.WriteLine($"Educative Cycle Length: {educativeCycleLength}");

            Console.WriteLine();

            var start = CyclicLinkedList.FindCycleStart(cyclicList.Head);

            Console.WriteLine($"Start of the list: {start.Value}");

            Console.WriteLine();

            var educativeStart = LinkedListStart.FindCycleStart(cyclicList.Head);

            Console.WriteLine($"Starting Node (Educative): {educativeStart.Value}");

            Console.WriteLine();

            var happyNumber = HappyNumber.IsHappyNumber(23);

            Console.WriteLine($"Is number happy? {happyNumber}");

            Console.WriteLine();

            var fastSlowHappyNumber = HappyNumber.IsHappyNumberFastSlow(1234);

            Console.WriteLine($"Is number happy (Fast/Slow)? {fastSlowHappyNumber}");

            Console.WriteLine();

            LinkedList ll = new LinkedList();

            ll.Insert(6);
            ll.Insert(5);
            ll.Insert(4);
            ll.Insert(3);
            ll.Insert(2);
            ll.Insert(1);

            var middle = MiddleNode.FindMiddleNode(ll.Head);

            Console.WriteLine($"The middle node is: {middle.Value}");

            Console.WriteLine();

            LinkedList palList = new LinkedList();

            palList.Insert(2);
            palList.Insert(4);
            palList.Insert(6);
            palList.Insert(4);
            palList.Insert(2);

            bool isPal = PalindromeLinkedList.IsLinkedListAPalindrome(palList.Head);

            Console.WriteLine($"Is the List a Palindrome? {isPal}");

            Console.WriteLine();
        }
Beispiel #8
0
        void InternalTest(int[] array, bool expected)
        {
            bool actual = PalindromeLinkedList.IsPalindrome(ListNode.FromArray(array));

            Assert.Equal <bool>(expected, actual);
        }