## [Leetcode] Remove Nth Node From End of List

Given a linked list, remove the nth node from the end of list and return its head.

Given a linked list, remove the nth node from the end of list and return its head.

Easy to understand algorithm's time and space complexity with big o notation.

Introduce fixed size array

A dynamically resizing array is an array that resizes itself as needed

Introduce string and string buffer

A basic linked list is a da data stucture of nodes in which every previous node has a reference to the next node.

A hash table is a data structure that maps keys to values for highly effient lookup.

A stack is a container of objects that are inserted and removed according to the last-in first-out (LIFO) principle.

A queue is a container of objects (a linear collection) that are inserted and removed according to the first-in first-out (FIFO) principle.

Representing a graph or tree by a matrix or adjacent node lists.

A tree is a data structure consisting of nodes organised as a hierarchy

A binary tree is a tree data structure in which each node has at most two children

Introduce the 3 types of Binary tree traversal - pre-order traversal, in-order traversal and post-order traversal.

Introduce the concept of BST and the related algorithms

A tree is height-balanced if the heights of the left and right subtree's of each node are within 1.

Introduce Complete Tree and Full Tree

The two main methods to traverse each node in a graph - Depth First Search and Breath First Search.

Introduce Bubble Sort

Introduce Selection Sort

Introduce Insertion Sort

Introduce Merge Sort

Introduce Quick Sort

Compares pros and cons of different sorting algorithms

Introduce Binary Search

Recursion solves a problem by solving one or more sub-states of the problem itself.

Introduce what is and when to use dynamic programming.

Introduce a classic dynamic programming problem: Longest Common Subsequence (LCS)

Introduce a classic dynamic programming problem: The Knapsack Problem

This post introduces basic operations and tricks about bit manipulation.

Given an array of integers, find if the array contains any duplicates.