public void LC_0445_AddTwoNumbers() { var linkList1 = ListNode.GenerateList(new int[] { 7, 2, 4, 3 }); var linkList2 = ListNode.GenerateList(new int[] { 5, 6, 4 }); Assert.True(new int[] { 7, 8, 0, 7 }.CompareArray(_s.AddTwoNumbers(linkList1, linkList2).ToList().ToArray())); }
public void LC_0328_OddEvenList() { var linkList1 = ListNode.GenerateList(new int[] { 1, 2, 3, 4 }); var linkList2 = ListNode.GenerateList(new int[] { 1, 2, 3, 4, 5 }); Assert.True(new int[] { 1, 3, 2, 4 }.CompareArray(_s.OddEvenList(linkList1).ToList().ToArray())); Assert.True(new int[] { 1, 3, 5, 2, 4 }.CompareArray(_s.OddEvenList(linkList2).ToList().ToArray())); }
public void LC_0203_RemoveElements() { var linkList1 = ListNode.GenerateList(new int[] { 1, 1 }); var linkList2 = ListNode.GenerateList(new int[] { 1, 2, 3, 4 }); Assert.True(_s.RemoveElements(linkList1, 1).ToArray().Length == 0); Assert.True(new int[] { 1, 2, 4 }.CompareArray(_s.RemoveElements(linkList2, 3).ToList().ToArray())); }
public void LC_0142_DetectCycle() { var linkList1 = ListNode.GenerateList(new int[] { 3, 2, 0, -4 }); linkList1.next.next.next.next = linkList1.next; var node = _s.DetectCycle(linkList1); Assert.True(node == linkList1.next); }
public void LC_0143_ReorderList() { var linkList1 = ListNode.GenerateList(new int[] { 1, 2, 3, 4 }); var linkList2 = ListNode.GenerateList(new int[] { 1, 2, 3, 4, 5 }); _s.ReorderList(linkList1); _s.ReorderList(linkList2); Assert.True(new int[] { 1, 4, 2, 3 }.CompareArray(linkList1.ToList().ToArray())); Assert.True(new int[] { 1, 5, 2, 4, 3 }.CompareArray(linkList2.ToList().ToArray())); }
public void LC_0234_IsPalindrome() { var linkList1 = ListNode.GenerateList(new int[] { 1 }); var linkList2 = ListNode.GenerateList(new int[] { 1, 2, 1 }); var linkList3 = ListNode.GenerateList(new int[] { 1, 2, 2, 1 }); var linkList4 = ListNode.GenerateList(new int[] { 1, 2 }); Assert.True(_s.IsPalindrome(null)); Assert.True(_s.IsPalindrome(linkList1)); Assert.True(_s.IsPalindrome(linkList2)); Assert.True(_s.IsPalindrome(linkList3)); Assert.False(_s.IsPalindrome(linkList4)); }
public void LC_0147_InsertionSortList() { var linkList1 = ListNode.GenerateList(new int[] { 4, 3, 1, 2 }); var linkList2 = ListNode.GenerateList(new int[] { 1 }); var linkList3 = ListNode.GenerateList(new int[] { 2, 1 }); var linkList4 = ListNode.GenerateList(new int[] { 1, 2 }); var linkList5 = ListNode.GenerateList(new int[] { 1, 1 }); var linkList6 = ListNode.GenerateList(new int[] { 4, 19, 14, 5, -3, 1, 8, 5, 11, 15 }); Assert.True(new int[] { 1, 2, 3, 4 }.CompareArray(_s.InsertionSortList(linkList1).ToList().ToArray())); Assert.True(new int[] { 1 }.CompareArray(_s.InsertionSortList(linkList2).ToList().ToArray())); Assert.True(new int[] { 1, 2 }.CompareArray(_s.InsertionSortList(linkList3).ToList().ToArray())); Assert.True(new int[] { 1, 2 }.CompareArray(_s.InsertionSortList(linkList4).ToList().ToArray())); Assert.True(new int[] { 1, 1 }.CompareArray(_s.InsertionSortList(linkList5).ToList().ToArray())); Assert.True(new int[] { -3, 1, 4, 5, 5, 8, 11, 14, 15, 19 }.CompareArray(_s.InsertionSortList(linkList6).ToList().ToArray())); }
public void LC_0160_GetIntersectionNode() { var linkList1 = ListNode.GenerateList(new int[] { 4, 1, 8, 4, 5 }); var linkList2 = new ListNode(5) { next = new ListNode(0) { next = new ListNode(1) { next = linkList1.next.next } } }; Assert.True(linkList1.next.next == _s.GetIntersectionNode(linkList1, linkList2)); }
public void LC_0109_SortedListToBST() { var linkList1 = ListNode.GenerateList(new int[] { -10, -3, 0, 5, 9 }); var tree = _s.SortedListToBST(linkList1); }
public void LC_0148_SortList() { var linkList1 = ListNode.GenerateList(new int[] { 4, 3, 2, 1 }); Assert.True(new int[] { 1, 2, 3, 4 }.CompareArray(_s.SortList(linkList1).ToList().ToArray())); }
public void LC_0206_ReverseList() { var linkList1 = ListNode.GenerateList(new int[] { 1, 2, 3, 4, 5 }); Assert.True(new int[] { 5, 4, 3, 2, 1 }.CompareArray(_s.ReverseList(linkList1).ToList().ToArray())); }