https://oj.leetcode.com/problems/binary-tree-preorder-traversal/