var inorderTraversal = function (root) {
if (!root) return []
const res = [],
stack = []
let curr = root
while (stack.length || curr) {
if (curr) {
stack.push(curr)
curr = curr.left
} else {
curr = stack.pop()
res.push(curr.val)
curr = curr.right
}
}
return res
}