Appearance
后序遍历
递归法后序遍历二叉树
javascript
function recursivePostOrder(root) {
const result = [];
function helper(node) {
if (node === null) return;
helper(node.left);
helper(node.right);
result.push(node.val);
}
helper(root);
return result;
}
Test Cases
javascript
const { generateTree } = require('../docs/algo/common/generator');
const { recursivePostOrder } = require('../docs/algo/tree/postOrder');
describe('postOrder', () => {
const root = generateTree();
it('recursive', () => {
expect(recursivePostOrder(root)).toEqual([4, 5, 2, 3, 1]);
});
});
shell
# /test/postorder.test.js
jest --testNamePattern=postorder
递归法后序遍历 N 叉树
javascript
function postorderNAryTree(root) {
const result = []
function helper(node) {
if (node === null) {
return;
}
for (const child of node.children) {
helper(child)
}
result.push(node.val)
}
helper(root)
return result
}