## [DataStructures](https://www.hackerrank.com/domains/data-structures) |Subdomain|Problem Name|Problem Link|Language|Solution Link| ---|---|---|---|--- |Advanced|Mr. X and His Shots|[Problem](https://www.hackerrank.com/challenges/x-and-his-shots/problem)|java|[Solution](Advanced/Mr.XandHisShots.java)| |Arrays|2D Array - DS|[Problem](https://www.hackerrank.com/challenges/2d-array/problem)|java|[Solution](Arrays/2DArray-DS.java)| |Arrays|Array Manipulation|[Problem](https://www.hackerrank.com/challenges/crush/problem)|java|[Solution](Arrays/ArrayManipulation.java)| |Arrays|Arrays - DS|[Problem](https://www.hackerrank.com/challenges/arrays-ds/problem)|java|[Solution](Arrays/Arrays-DS.java)| |Arrays|Dynamic Array|[Problem](https://www.hackerrank.com/challenges/dynamic-array/problem)|java8|[Solution](Arrays/DynamicArray.java)| |Arrays|Left Rotation|[Problem](https://www.hackerrank.com/challenges/array-left-rotation/problem)|java|[Solution](Arrays/LeftRotation.java)| |Arrays|Sparse Arrays|[Problem](https://www.hackerrank.com/challenges/sparse-arrays/problem)|java|[Solution](Arrays/SparseArrays.java)| |LinkedLists|Compare two linked lists|[Problem](https://www.hackerrank.com/challenges/compare-two-linked-lists/problem)|java|[Solution](LinkedLists/Comparetwolinkedlists.java)| |LinkedLists|Cycle Detection|[Problem](https://www.hackerrank.com/challenges/detect-whether-a-linked-list-contains-a-cycle/problem)|java|[Solution](LinkedLists/CycleDetection.java)| |LinkedLists|Delete a Node|[Problem](https://www.hackerrank.com/challenges/delete-a-node-from-a-linked-list/problem)|java|[Solution](LinkedLists/DeleteaNode.java)| |LinkedLists|Delete duplicate-value nodes from a sorted linked list|[Problem](https://www.hackerrank.com/challenges/delete-duplicate-value-nodes-from-a-sorted-linked-list/problem)|java|[Solution](LinkedLists/Deleteduplicate-valuenodesfromasortedlinkedlist.java)| |LinkedLists|Find Merge Point of Two Lists|[Problem](https://www.hackerrank.com/challenges/find-the-merge-point-of-two-joined-linked-lists/problem)|java|[Solution](LinkedLists/FindMergePointofTwoLists.java)| |LinkedLists|Get Node Value|[Problem](https://www.hackerrank.com/challenges/get-the-value-of-the-node-at-a-specific-position-from-the-tail/problem)|java|[Solution](LinkedLists/GetNodeValue.java)| |LinkedLists|Insert a Node at the Tail of a Linked List|[Problem](https://www.hackerrank.com/challenges/insert-a-node-at-the-tail-of-a-linked-list/problem)|java|[Solution](LinkedLists/InsertaNodeattheTailofaLinkedList.java)| |LinkedLists|Insert a node at a specific position in a linked list|[Problem](https://www.hackerrank.com/challenges/insert-a-node-at-a-specific-position-in-a-linked-list/problem)|java|[Solution](LinkedLists/Insertanodeataspecificpositioninalinkedlist.java)| |LinkedLists|Insert a node at the head of a linked list|[Problem](https://www.hackerrank.com/challenges/insert-a-node-at-the-head-of-a-linked-list/problem)|java|[Solution](LinkedLists/Insertanodeattheheadofalinkedlist.java)| |LinkedLists|Inserting a Node Into a Sorted Doubly Linked List|[Problem](https://www.hackerrank.com/challenges/insert-a-node-into-a-sorted-doubly-linked-list/problem)|java|[Solution](LinkedLists/InsertingaNodeIntoaSortedDoublyLinkedList.java)| |LinkedLists|Merge two sorted linked lists|[Problem](https://www.hackerrank.com/challenges/merge-two-sorted-linked-lists/problem)|java|[Solution](LinkedLists/Mergetwosortedlinkedlists.java)| |LinkedLists|Print in Reverse|[Problem](https://www.hackerrank.com/challenges/print-the-elements-of-a-linked-list-in-reverse/problem)|java|[Solution](LinkedLists/PrintinReverse.java)| |LinkedLists|Print the Elements of a Linked List|[Problem](https://www.hackerrank.com/challenges/print-the-elements-of-a-linked-list/problem)|java|[Solution](LinkedLists/PrinttheElementsofaLinkedList.java)| |LinkedLists|Reverse a doubly linked list|[Problem](https://www.hackerrank.com/challenges/reverse-a-doubly-linked-list/problem)|java|[Solution](LinkedLists/Reverseadoublylinkedlist.java)| |LinkedLists|Reverse a linked list|[Problem](https://www.hackerrank.com/challenges/reverse-a-linked-list/problem)|java|[Solution](LinkedLists/Reversealinkedlist.java)| |Stacks|Balanced Brackets|[Problem](https://www.hackerrank.com/challenges/balanced-brackets/problem)|java|[Solution](Stacks/BalancedBrackets.java)| |Stacks|Equal Stacks|[Problem](https://www.hackerrank.com/challenges/equal-stacks/problem)|java|[Solution](Stacks/EqualStacks.java)| |Stacks|Largest Rectangle |[Problem](https://www.hackerrank.com/challenges/largest-rectangle/problem)|java|[Solution](Stacks/LargestRectangle.java)| |Stacks|Maximum Element|[Problem](https://www.hackerrank.com/challenges/maximum-element/problem)|java|[Solution](Stacks/MaximumElement.java)| |Trees|Binary Search Tree : Insertion|[Problem](https://www.hackerrank.com/challenges/binary-search-tree-insertion/problem)|java|[Solution](Trees/BinarySearchTree:Insertion.java)| |Trees|Binary Search Tree : Lowest Common Ancestor|[Problem](https://www.hackerrank.com/challenges/binary-search-tree-lowest-common-ancestor/problem)|java|[Solution](Trees/BinarySearchTree:LowestCommonAncestor.java)| |Trees|Is This a Binary Search Tree?|[Problem](https://www.hackerrank.com/challenges/is-binary-search-tree/problem)|java|[Solution](Trees/IsThisaBinarySearchTree?.java)| |Trees|Tree : Top View|[Problem](https://www.hackerrank.com/challenges/tree-top-view/problem)|java|[Solution](Trees/Tree:TopView.java)| |Trees|Tree: Height of a Binary Tree|[Problem](https://www.hackerrank.com/challenges/tree-height-of-a-binary-tree/problem)|java|[Solution](Trees/Tree:HeightofaBinaryTree.java)| |Trees|Tree: Huffman Decoding |[Problem](https://www.hackerrank.com/challenges/tree-huffman-decoding/problem)|java|[Solution](Trees/Tree:HuffmanDecoding.java)| |Trees|Tree: Inorder Traversal|[Problem](https://www.hackerrank.com/challenges/tree-inorder-traversal/problem)|java|[Solution](Trees/Tree:InorderTraversal.java)| |Trees|Tree: Level Order Traversal|[Problem](https://www.hackerrank.com/challenges/tree-level-order-traversal/problem)|java|[Solution](Trees/Tree:LevelOrderTraversal.java)| |Trees|Tree: Postorder Traversal|[Problem](https://www.hackerrank.com/challenges/tree-postorder-traversal/problem)|java|[Solution](Trees/Tree:PostorderTraversal.java)| |Trees|Tree: Preorder Traversal|[Problem](https://www.hackerrank.com/challenges/tree-preorder-traversal/problem)|java|[Solution](Trees/Tree:PreorderTraversal.java)|