# Posts

• ## Leetcode: Kth smallest element in matrix

Given a `n*n` matrix, find the `kth` smallest element. Each row in the matrix is sorted in ascending order and independent of the other rows. Do not use `O(n*n)` space when solving this. One example matrix looks like this:

If we could use all the space we wanted, we could just perform an n-way merge sort on every row at once. This would work because the rows itself are sorted already. Afterwards, we would need to pick the kth element from the list and would be done.

• ## Leetcode: Copy list with random pointer

Given a `head` of a list with pointers to `next` and a `random` element, copy the list to a new list without any random pointers pointing to the old list.

• ## Leetcode: Decode ways

Characters can be encoded via different numbers. `A -> 1, B -> 2, ..., Z -> 26`. Given a string `s` of numbers, return the number of possible decodings. For example `12` can be decoded as `A,B` and as `L`.

• ## Leetcode: Reconstruct binary tree

Given two lists of a `preorder` and `inorder`, create a tree and return the `root` node.

The problem is not so obvious at first. If the preorder list would also contain `null` values for the places where the tree does not contain nodes, we could simply iterate over this list and reconstruct the tree from there. But since the `null` values are missing, we also need to take a look at the `inorder` list.

• ## Leetcode: Validate Binary Search Tree

Given the `root` node of a tree, validate whether it is a valid Binary Search Tree. This is a tree where each node is unique, left children are smaller than the root and right children are greater than the root.

Page: 4 of 28