深度优先遍历
- 访问根节点。
- 对根节点的
children
挨个进行深度优先遍历。
const dfs = (root) => {
console.log(root.val);
root.children.forEach(dfs);
}
广度优先遍历
- 新建一个队列,把根节点入队。
- 把对头出队并访问。
- 把队头的
children
挨个入队。 - 重复2、3步,直到队列为空。
先序遍历
- 访问根节点。
- 对根节点的左子树进行先序遍历。
- 对根节点的右子树进行先序遍历。
中序遍历
- 对根节点的左子树进行中序遍历。
- 访问根节点。
- 对根节点的右子树进行中序遍历。