//层序遍历
function levelOrder(root){
//初始化队列,加入根节点
const queue = [root];
//初始化一个列表,用于保存遍历序列
const list = [];
if(queue.length){
//获取根节点
let node = queue.shift();
//根节点入栈
list.push(node.val);
//左子节点
if(node.left){
queue.push(node.left);
}
//右子节点
if(node.right){
queue.push(node.right);
}
}
}
//前序遍历
//初始化列表,用于保存遍历序列
const list = [];
function preOrder(root){
if(root == null) return;
list.push(root.val);
preOrder(root.left);
preOrder(root.right);
}
//中序遍历
function inOrder(root){
if(root == null) return;
inOrder(root.left);
list.push(root.val);
inOrder(root.right);
}
//后序遍历
function postOrder(root){
if(root == null) return;
postOrder(root.left);
postOrder(root.right);
list.push(root.val);
}
console