// Easiest dfs traversal to write iteratively
var preorderTraversal = function (root) {
if (!root) return []
const res = [],
stack = [root]
let curr
while (stack.length) {
curr = stack.pop()
res.push(curr.val)
if (curr.right) stack.push(curr.right)
if (curr.left) stack.push(curr.left)
}
return res
}