Exemple #1
0
        public static void Execute()
        {
            var lst = ListNode.Create(new[] { 1, 2, 3, 4 });
            var r   = RemoveNthFromEndImpl(lst, 4);

            System.Console.WriteLine(r.ToString());
        }
Exemple #2
0
        public ListNode Solve(int[] l1, int[] l2)
        {
            var node1 = ListNode.Create(l1);
            var node2 = ListNode.Create(l2);

            return(Solve(node1, node2));
        }
Exemple #3
0
        public static void Execute()
        {
            var list = ListNode.Create(new[] { 1, 2, 3, 4, 5 });

            ReorderListImpl(list);
            Console.WriteLine(list);
        }
        public void Test(int[] input, int[] expect)
        {
            var so     = GetSo;
            var result = so.DeleteDuplicates(ListNode.Create(input)).ToArray();

            Assert.Equal(expect, result);
        }
Exemple #5
0
        public void TestSimple()
        {
            Assert.IsTrue(ListNode.Equals(ListNode.Create(new int[] { 1, 2, 3, 4, 5 }),
                                          util.MergeTwoLists(ListNode.Create(new int[] { 1, 2, 3 }), ListNode.Create(new int[] { 4, 5 }))));

            Assert.IsTrue(ListNode.Equals(ListNode.Create(new int[] { 1 }), util.MergeTwoLists(null, ListNode.Create(new int[] { 1 }))));
        }
        public static void Execute()
        {
            //var source = ListNode.Create(new[] { 1, 2, 6, 3, 4, 5, 6 });
            var source = ListNode.Create(new[] { 6, 6, 6 });
            var output = RemoveLinkedListElementsImpl(source, 6);

            Console.WriteLine(output);
        }
Exemple #7
0
        public void Test(int[] input, int val, int[] expect)
        {
            var so     = GetSo;
            var ln     = ListNode.Create(input);
            var result = so.RemoveElements(ln, val);

            Assert.Equal(expect, result.ToArray());
        }
        public void Test(int[] l1a, int[] l2a, int[] expect)
        {
            var l1 = ListNode.Create(l1a);
            var l2 = ListNode.Create(l2a);
            var so = GetSo;

            var result = so.MergeTwoLists(l1, l2).ToArray();

            Assert.Equal(expect, result);
        }
Exemple #9
0
        public static void Execute()
        {
            //var l = new[] { 1, 2, 4 };
            //var r = new[] { 1, 3, 4 };

            var l      = new int[] { 2 };
            var r      = new[] { 1, 1, 1, 1 };
            var result = MergeTwoSortedListsImpl(ListNode.Create(l), ListNode.Create(r));

            Console.WriteLine(result);
        }
Exemple #10
0
        public void TestSimple()
        {
            Assert.IsTrue(
                ListNode.Equals(
                    ListNode.Create(new int[] { 2 }),
                    this.util.RemoveNthFromEnd(ListNode.Create(new int[] { 1, 2 }), 2)));

            Assert.IsTrue(
                ListNode.Equals(
                    ListNode.Create(new int[] { 1, 2, 4, 5 }),
                    this.util.RemoveNthFromEnd(ListNode.Create(new int[] { 1, 2, 3, 4, 5 }), 3)));
        }
Exemple #11
0
        public void Test(int[] arr, int pos, bool expect)
        {
            var so = GetSo;
            var ln = ListNode.Create(arr);

            if (pos != -1)
            {
                ln.Tail().next = ln.At(pos);
            }

            var result = so.HasCycle(ln);

            Assert.Equal(expect, result);
        }
Exemple #12
0
        public void Test(int[] arr, int pos)
        {
            var so = GetSo;
            var ln = ListNode.Create(arr);

            if (pos != -1) // 我的At里是如果index不存在则返回null,但不能依赖它,因为正确效果是抛异常
            {
                ln.Tail().next = ln.At(pos);
            }

            var result = so.DetectCycle(ln);

            Assert.Equal(pos == -1 ? null : ln.At(pos), result);
        }
Exemple #13
0
        void Test(int a, int b, int[] expects)
        {
            ListNode l1       = ListNode.Create(a);
            ListNode l2       = ListNode.Create(b);
            var      solution = new Solution();

            ListNode r = solution.AddTwoNumbers(l1, l2);

            foreach (int n in expects)
            {
                Assert.Equal(n, r.val);
                r = r.next;
            }
            Assert.Null(r);
        }
Exemple #14
0
        public static void Execute()
        {
            var output = ReverseLinkedListImpl(ListNode.Create(new[] { 1, 2, 3, 4, 5 }));

            Console.WriteLine(output);
        }
 public static void Execute()
 {
     //Console.WriteLine(IsPalindromeImpl(ListNode.Create(new[] { 1, 2 })));
     Console.WriteLine(IsPalindromeLinkedListImpl(ListNode.Create(new[] { 1, 2, 2, 1 })));
 }
Exemple #16
0
        public static void Execute()
        {
            var output = DeleteDuplicatesImpl(ListNode.Create(new[] { 1, 1, 1 }));

            Console.WriteLine(output);
        }