public void Can_add_at_index() { var expected = 0; var expected2 = 1; var expected3 = 2; var expected4 = 3; var expected5 = -1; var sut = new MyLinkedList(); sut.AddAtIndex(0, 1); sut.AddAtIndex(0, 0); sut.AddAtIndex(2, 3); sut.AddAtIndex(2, 2); var actual = sut.Get(0); var actual2 = sut.Get(1); var actual3 = sut.Get(2); var actual4 = sut.Get(3); var actual5 = sut.Get(10); Assert.AreEqual(expected, actual); Assert.AreEqual(expected2, actual2); Assert.AreEqual(expected3, actual3); Assert.AreEqual(expected4, actual4); Assert.AreEqual(expected5, actual5); }
public void MyLinkedList() { linkedList.AddAtIndex(0, 10); linkedList.AddAtIndex(0, 20); linkedList.AddAtIndex(1, 30); Assert.Equal(20, linkedList.Get(0)); }
public void Example2() { var myLinkedList = new MyLinkedList(); myLinkedList.AddAtIndex(0, 10); myLinkedList.AddAtIndex(0, 20); myLinkedList.AddAtIndex(1, 30); Assert.AreEqual(20, myLinkedList.Get(0)); }
public void Test_MyLinkedList3() { MyLinkedList linkedList = new MyLinkedList(); // Initialize empty LinkedList linkedList.AddAtHead(7); linkedList.AddAtHead(2); linkedList.AddAtHead(1); linkedList.AddAtIndex(3, 0); linkedList.DeleteAtIndex(2); linkedList.AddAtHead(6); linkedList.AddAtTail(4); Assert.Equal(4, linkedList.Get(4)); linkedList.AddAtHead(4); linkedList.AddAtIndex(5, 0); linkedList.AddAtHead(6); }
/** * Your MyLinkedList object will be instantiated and called as such: * MyLinkedList obj = new MyLinkedList(); * int param_1 = obj.Get(index); * obj.AddAtHead(val); * obj.AddAtTail(val); * obj.AddAtIndex(index,val); * obj.DeleteAtIndex(index); */ // Driver Code public static void Main(String[] args) {// 61204 MyLinkedList list = new MyLinkedList(); list.AddAtHead(7); list.AddAtHead(2); list.AddAtHead(1); list.AddAtIndex(3, 0); list.DeleteAtIndex(2); list.AddAtHead(6); list.AddAtTail(4); list.Get(4); list.AddAtHead(4); list.AddAtIndex(5, 0); list.AddAtHead(6); list.printList(); }
public void MyLinkedListTest1() { MyLinkedList linkedList = new MyLinkedList(); linkedList.AddAtHead(7); linkedList.AddAtHead(2); linkedList.AddAtHead(1); linkedList.AddAtIndex(3, 0); linkedList.DeleteAtIndex(2); linkedList.AddAtHead(6); linkedList.AddAtTail(4); var expected = 4; Assert.AreEqual(expected, linkedList.Get(4)); linkedList.AddAtHead(4); linkedList.AddAtIndex(5, 0); linkedList.AddAtHead(6); }
public void Test_MyLinkedList() { MyLinkedList linkedList = new MyLinkedList(); // Initialize empty LinkedList linkedList.AddAtHead(1); linkedList.AddAtTail(3); linkedList.AddAtIndex(1, 2); // linked list becomes 1->2->3 Assert.Equal(2, linkedList.Get(1)); // returns 2 linkedList.DeleteAtIndex(1); // now the linked list is 1->3 Assert.Equal(3, linkedList.Get(1)); // returns 3 }
public void Test2() { var list = new MyLinkedList(); list.AddAtHead(1); list.AddAtTail(3); list.AddAtIndex(1, 2); Assert.AreEqual(1, list.Get(0)); list.DeleteAtIndex(0); Assert.AreEqual(2, list.Get(0)); }
/* * Design your implementation of the linked list. You can choose to use the singly linked list or the doubly linked list. * A node in a singly linked list should have two attributes: val and next. * val is the value of the current node, and next is a pointer/reference to the next node. * If you want to use the doubly linked list, you will need one more attribute prev to indicate the previous node in the linked list. * Assume all nodes in the linked list are 0-indexed. * * Implement these functions in your linked list class: * * get(index) : Get the value of the index-th node in the linked list. If the index is invalid, return -1. * addAtHead(val) : Add a node of value val before the first element of the linked list. * After the insertion, the new node will be the first node of the linked list. * addAtTail(val) : Append a node of value val to the last element of the linked list. * addAtIndex(index, val) : Add a node of value val before the index-th node in the linked list. * If index equals to the length of linked list, the node will be appended to the end of linked list. * If index is greater than the length, the node will not be inserted. * deleteAtIndex(index) : Delete the index-th node in the linked list, if the index is valid. * * * Example: * * Input: * ["MyLinkedList","addAtHead","addAtTail","addAtIndex","get","deleteAtIndex","get"] * [[],[1],[3],[1,2],[1],[1],[1]] * Output: * [null,null,null,null,2,null,3] * * Explanation: * MyLinkedList linkedList = new MyLinkedList(); // Initialize empty LinkedList * linkedList.addAtHead(1); * linkedList.addAtTail(3); * linkedList.addAtIndex(1, 2); // linked list becomes 1->2->3 * linkedList.get(1); // returns 2 * linkedList.deleteAtIndex(1); // now the linked list is 1->3 * linkedList.get(1); // returns 3 * * * Constraints: * * 0 <= index,val <= 1000 * Please do not use the built-in LinkedList library. * At most 2000 calls will be made to get, addAtHead, addAtTail, addAtIndex and deleteAtIndex. * */ public void Run() { MyLinkedList l = new MyLinkedList(); l.AddAtHead(4); l.AddAtHead(3); l.AddAtHead(2); l.AddAtHead(1); l.AddAtTail(0); l.AddAtIndex(2, 15); System.Console.WriteLine(l.Get(2)); }
public void Example1() { var myLinkedList = new MyLinkedList(); myLinkedList.AddAtHead(1); myLinkedList.AddAtTail(3); myLinkedList.AddAtIndex(1, 2); Assert.AreEqual(3, myLinkedList.Get(2)); myLinkedList.DeleteAtIndex(1); Assert.AreEqual(3, myLinkedList.Get(1)); }
public void MyLinkedListTest() { MyLinkedList linkedList = new MyLinkedList(); linkedList.AddAtHead(1); linkedList.AddAtTail(3); linkedList.AddAtIndex(1, 2); var expected = 2; Assert.AreEqual(expected, linkedList.Get(1)); linkedList.DeleteAtIndex(1); expected = 3; Assert.AreEqual(expected, linkedList.Get(1)); }
public void Example1_Can_pass_leet_code_first_test_case() { //["MyLinkedList","addAtHead","addAtTail","addAtIndex","get","deleteAtIndex","get"] //[[],[1],[3],[1,2],[1],[1],[1]] var expected = 2; var expected2 = 3; var sut = new MyLinkedList(); sut.AddAtHead(1); sut.AddAtTail(3); sut.AddAtIndex(1, 2); var actual = sut.Get(1); sut.DeleteAtIndex(1); var actual2 = sut.Get(1); Assert.AreEqual(expected, actual); Assert.AreEqual(expected2, actual2); }
public Design_Linked_List() { var a = new MyLinkedList(); a.AddAtIndex(0, 2); }
public void Test() { var list = new MyLinkedList(); list.AddAtHead(84); list.AddAtTail(2); list.AddAtTail(39); Assert.AreEqual(-1, list.Get(3)); Assert.AreEqual(2, list.Get(1)); list.AddAtTail(42); list.AddAtIndex(1, 80); list.AddAtHead(14); list.AddAtHead(1); list.AddAtTail(53); list.AddAtTail(98); list.AddAtTail(19); list.AddAtTail(12); Assert.AreEqual(84, list.Get(2)); list.AddAtHead(16); list.AddAtHead(33); list.AddAtIndex(4, 17); list.AddAtIndex(6, 8); list.AddAtHead(37); list.AddAtTail(43); list.DeleteAtIndex(11); list.AddAtHead(80); list.AddAtHead(31); list.AddAtIndex(13, 23); list.AddAtTail(17); Assert.AreEqual(16, list.Get(4)); list.AddAtIndex(10, 0); list.AddAtTail(21); list.AddAtHead(73); list.AddAtHead(22); list.AddAtIndex(24, 37); list.AddAtTail(14); list.AddAtHead(97); list.AddAtHead(8); Assert.AreEqual(37, list.Get(6)); list.DeleteAtIndex(17); list.AddAtTail(50); list.AddAtTail(28); list.AddAtHead(76); list.AddAtTail(79); Assert.AreEqual(23, list.Get(18)); list.DeleteAtIndex(30); list.AddAtTail(5); list.AddAtHead(9); list.AddAtTail(83); list.DeleteAtIndex(3); list.AddAtTail(40); list.DeleteAtIndex(26); list.AddAtIndex(20, 90); list.DeleteAtIndex(30); list.AddAtTail(40); list.AddAtHead(56); list.AddAtIndex(15, 23); list.AddAtHead(51); list.AddAtHead(21); Assert.AreEqual(19, list.Get(26)); list.AddAtHead(83); Assert.AreEqual(17, list.Get(30)); list.AddAtHead(12); list.DeleteAtIndex(8); Assert.AreEqual(56, list.Get(4)); list.AddAtHead(20); list.AddAtTail(45); Assert.AreEqual(31, list.Get(10)); list.AddAtHead(56); Assert.AreEqual(17, list.Get(18)); list.AddAtTail(33); Assert.AreEqual(12, list.Get(2)); list.AddAtTail(70); list.AddAtHead(57); list.AddAtIndex(31, 24); list.AddAtIndex(16, 92); list.AddAtHead(40); list.AddAtHead(23); list.DeleteAtIndex(26); Assert.AreEqual(40, list.Get(1)); list.AddAtHead(92); list.AddAtIndex(3, 78); list.AddAtTail(42); Assert.AreEqual(37, list.Get(18)); list.AddAtIndex(39, 9); Assert.AreEqual(76, list.Get(13)); list.AddAtIndex(33, 17); Assert.AreEqual(42, list.Get(51)); list.AddAtIndex(18, 95); list.AddAtIndex(18, 33); list.AddAtHead(80); list.AddAtHead(21); list.AddAtTail(7); list.AddAtIndex(17, 46); Assert.AreEqual(80, list.Get(33)); list.AddAtHead(60); list.AddAtTail(26); list.AddAtTail(4); list.AddAtHead(9); Assert.AreEqual(43, list.Get(45)); list.AddAtTail(38); list.AddAtHead(95); list.AddAtTail(78); Assert.AreEqual(40, list.Get(54)); list.AddAtIndex(42, 86); }
public String Test(String input1, String input2) { var actions = JsonConvert.DeserializeObject <String[]>(input1); var parameters = JsonConvert.DeserializeObject <Int32[][]>(input2); var result = new List <Int32?>(); MyLinkedList linkedList = null; Console.WriteLine("MyLinkedList linkedList = null;"); for (Int32 i = 0; i < actions.Length; i++) { String action = actions[i]; switch (action) { case "MyLinkedList": Console.WriteLine("linkedList = new MyLinkedList(); // Initialize empty LinkedList"); linkedList = new MyLinkedList(); result.Add(null); break; case "get": Console.Write("linkedList.Get({0});", parameters[i][0]); Int32?value = linkedList?.Get(index: parameters[i][0]); if (value != null) { Console.WriteLine("\t\t// returns: {0}{1}", value, value == -1 ? " (not found)" : null); } else { Console.WriteLine(); } result.Add(value); break; case "addAtHead": Console.Write("linkedList.AddAtHead({0});", parameters[i][0]); linkedList?.AddAtHead(val: parameters[i][0]); if (linkedList != null) { Console.WriteLine("\t\t// the linked list is {0}", String.Join("->", linkedList)); } else { Console.WriteLine(); } result.Add(null); break; case "addAtTail": Console.Write("linkedList.AddAtTail({0});", parameters[i][0]); linkedList?.AddAtTail(val: parameters[i][0]); if (linkedList != null) { Console.WriteLine("\t\t// the linked list is {0}", String.Join("->", linkedList)); } else { Console.WriteLine(); } result.Add(null); break; case "addAtIndex": Console.Write("linkedList.AddAtIndex({0}, {1});", parameters[i][0], parameters[i][1]); linkedList?.AddAtIndex(index: parameters[i][0], val: parameters[i][1]); if (linkedList != null) { Console.WriteLine("\t\t// the linked list is {0}", String.Join("->", linkedList)); } else { Console.WriteLine(); } result.Add(null); break; case "deleteAtIndex": Console.Write("linkedList.DeleteAtIndex({0});", parameters[i][0]); linkedList?.DeleteAtIndex(index: parameters[i][0]); if (linkedList != null) { Console.WriteLine("\t\t// the linked list is {0}", String.Join("->", linkedList)); } else { Console.WriteLine(); } result.Add(null); break; } } return(JsonConvert.SerializeObject(result)); }