This problem was inspired by this original tweet by Max Howell:
Implement a trie with insert, search, and startsWith methods.
Given a binary tree, return all root-to-leaf paths.
Find the sum of all left leaves in a given binary tree.
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
Given a binary tree, determine if it is height-balanced.
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.
Given a binary tree and a sum, find all root-to-leaf paths where each path’s sum equals the given sum.
Given a binary tree, flatten it to a linked list in-place.