public void RemoveNthNodeFromEndOfListTestCase5() { var list = CommonHelpers.GetLinkedListFromArray(new[] { 1, 2, 3 }); var output = RemoveNthNodeFromEndOfList.RemoveNthFromEnd(list, 3).ValuesToFlatList(); output.SequenceEqual(new[] { 2, 3 }).Should().BeTrue(); }
public void RemoveNthFromEnd(ListNode head, int n, ListNode expected) { var sut = new RemoveNthNodeFromEndOfList(); var actual = sut.RemoveNthFromEnd(head, n); Assert.AreEqual(JsonConvert.SerializeObject(expected), JsonConvert.SerializeObject(actual)); }
public void Given_5_linked_node_When_remove_2th_from_end_of_List_Then_2th_from_end_removed() { ListNode node = new ListNode(1) { next = new ListNode(2) { next = new ListNode(3) { next = new ListNode(4) { next = new ListNode(5) } } } }; var result = RemoveNthNodeFromEndOfList.RemoveNthFromEnd(node, 2); while (result != null) { Assert.AreNotEqual(4, result.val); result = result.next; } }
public void Given_1_linked_node_When_remove_1th_from_end_of_List_Then_empty() { ListNode node = new ListNode(1) { }; var result = RemoveNthNodeFromEndOfList.RemoveNthFromEnd(node, 1); Assert.AreEqual(null, result); }
public void RemoveNthFromEndTest() { // 删除中间结点 ListNode headA = new ListNode(1); ListNode node2 = new ListNode(2); ListNode node3 = new ListNode(3); ListNode node4 = new ListNode(4); ListNode node5 = new ListNode(5); ListNode node6 = new ListNode(6); headA.next = node2; node2.next = node3; node3.next = node4; node4.next = node5; node5.next = node6; ListNode headB = new ListNode(1); ListNode nodeB2 = new ListNode(2); ListNode nodeB3 = new ListNode(3); ListNode nodeB4 = new ListNode(4); ListNode nodeB6 = new ListNode(6); headB.next = nodeB2; nodeB2.next = nodeB3; nodeB3.next = nodeB4; nodeB4.next = nodeB6; headA = new RemoveNthNodeFromEndOfList().RemoveNthFromEnd(headA, 2); var isEqual = true; while (true) { if (headA == null || headB == null) { isEqual = headA == headB; break; } if (headA.val == headB.val) { headA = headA.next; headB = headB.next; } else { isEqual = false; break; } } Assert.IsTrue(isEqual); }
public void RemoveNthFromEndTest1() { // 删除头结点 ListNode headA = new ListNode(1); ListNode node2 = new ListNode(2); headA.next = node2; ListNode headB = node2; headA = new RemoveNthNodeFromEndOfList().RemoveNthFromEnd(headA, 2); var isEqual = true; while (true) { if (headA == null || headB == null) { isEqual = headA == headB; break; } if (headA.val == headB.val) { headA = headA.next; headB = headB.next; } else { isEqual = false; break; } } Assert.IsTrue(isEqual); }