给定一个二叉树的根节点 root ,返回它的 中序 遍历。
root = [1,null,2,3]
输出: [1,3,2]
// 中序:左-中-右
// 递归法
// var inorderTraversal = function(root) {
// let result = []
// let preorder = function (node) {
// if (node) {
// if(node.left) preorder(node.left)
// result.push(node.val)
// if (node.right) preorder(node.right)
// }
// }
// preorder(root)
// return result
// };
// 2. 迭代法-DFS
var inorderTraversal = function(root) {
const result = []
const stack = []
while (root || stack.length) {
while(root) {
stack.push(root)
root = root.left
}
root = stack.pop()
result.push(root.val)
root = root.right
}
return result
}