使用递归的方式解决,先新建一个数组用于存放数据,树的每一层都是一个第二维的数组,然后再将数组扁平化
var levelOrder = function(root) { let levelArr = []; build(root,0); function build(node,level) { if(node === null) return null; if(!levelArr[level]) levelArr[level] = []; //没有这一步后续无法push levelArr[level].push(node.val); if(node.left) build(node.left,level+1); if(node.right) build(node.right,level+1); } levelArr = levelArr.reduce((pre,cur) => pre.concat(...cur),[]); //数组扁平化 return levelArr; };
原文:https://www.cnblogs.com/jmh0113/p/14591354.html