Data Structure I Day 1 (Array) Contains Duplicate Maximum Subarray Day 2 (Array) Two Sum Merge Sorted Array Day 3 (Array) Intersection of Two Arrays II Best Time to Buy and Sell Stock Day 4 (Array) Reshape the Matrix Pascal's Triangle Day 5 (Array) Valid Sudoku Search a 2D Matrix Day 6 (String) First Unique Character in a String Ransom Note Valid Anagram Day 7 (Linked List) Linked List Cycle Merge Two Sorted Lists Remove Linked List Elements Day 8 (Linked List) Reverse Linked List Remove Duplicates from Sorted List Day 9 (Stack / Queue) Valid Parentheses Implement Queue using Stacks Day 10 (Tree) Binary Tree Preorder Traversal Binary Tree Inorder Traversal Binary Tree Postorder Traversal Day 11 (Tree) Binary Tree Level Order Traversal Maximum Depth of Binary Tree Symmetric Tree Day 12 (Tree) Invert Binary Tree Path Sum Day 13 (Tree) Insert into a Binary Search Tree Search in a Binary Search Tree Day 14 (Tree) Validate Binary Search Tree Two Sum IV - Input is a BST Lowest Common Ancestor of a Binary Search Tree Algorithms Day 1 (Binary Search) Binary Search First Bad Version Search Insert Position Day 2 (Two Pointer) Squares of a Sorted Array Rotate Array