// 树的bfs、dfs
// 深度优先遍历。可分为前序遍历(中左右)、中序遍历(左中右)、后序遍历(左右中)
const traversal = (root) => {
const res = [];
function dfs(root) {
if (root === null) {
return;
}
res.push(root.val);
dfs(root.left);
dfs(root.right);
}
dfs(root);
return res;
};
const bfs = (root) => {
const res = [];
const queue = [];
if (root === null) {
return res;
}
queue.push(root);
while (queue.length !== 0) {
const cur = queue.shift();
res.push(cur);
cur.left && queue.push(cur.left);
cur.right && queue.push(cur.right);
}
return res;
};