题目:
给定一个 N 叉树,返回其节点值的前序遍历。
例如,给定一个 3叉树
:
返回其前序遍历: [1,3,5,6,2,4]
。
说明: 递归法很简单,你可以使用迭代法完成此题吗?
解决:
/*
* @lc app=leetcode.cn id=589 lang=javascript
*
* [589] N叉树的前序遍历
*/
// @lc code=start
/**
* // Definition for a Node.
* function Node(val, children) {
* this.val = val;
* this.children = children;
* };
*/
/**
* @param {Node} root
* @return {number[]}
*/
var preorder = function(root) {
let result = [];
const order = (item) => {
if (!item) {
return result;
}
result.push(item.val);
for (const child of item.children) {
order(child);
}
}
order(root);
return result;
};
// @lc code=end
注意:与后序遍历的区别就是push的位置