You are given the root of a binary tree, return the preorder traversal of its nodes' values.
In a preorder traversal, you visit the current node first, then recursively traverse the left subtree, and finally recursively traverse the right subtree.
[1, 2, 4, 5, 3]
The traversal order is: 1 (root) -> 2 (left) -> 4 (left's left) -> 5 (left's right) -> 3 (right).
None
[]
An empty tree results in an empty traversal.
[1, 2, 3]
The traversal order is: 1 (root) -> 2 (right) -> 3 (right's right).
[1, 2, 4, 5, 3]