【路飞】算法-二叉树的后序遍历

90 阅读1分钟

定义 后序遍历:先访问叶子节点,从左子树到右子树,再到根节点 画图理解

image.png

解题思路 后序遍历是先返回叶子节点,要从根节点一直遍历到没有子节点的叶子节点,所以选择使用递归的方式。

代码实现

function postOrder (node) {
  if (!node) return [];
  const resArr = [];
  resArr.push(...postOrder(node.left));
  resArr.push(...postOrder(node.right));
  resArr.push(node.show());
  return resArr;
}
const postNums = postOrder(bst.root);
// 结果:[ 3, 22, 16, 37, 99, 45, 23 ]