本文主要是介绍蛇形打印二叉树,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
采用层序遍历的方式。虽然leetcode有点问题,但结果没错的
var levelOrder = function(root) {if(!root) return null;let res = [];let flag = 1;let queue = [];queue.push(root);while(queue.length > 0){let temp = [];let tempQ = [];if(flag === 1){for(let i = 0; i<queue.length; i++){temp.push(queue[i].val)}flag = -1;}else{for(let i = queue.length-1; i>-1; i--){temp.push(queue[i].val)}flag = 1;}res.push(temp);for(let i = 0; i<queue.length; i++){queue[i].left && tempQ.push(queue[i].left);queue[i].right && tempQ.push(queue[i].right);}queue = tempQ}return res;
};
这篇关于蛇形打印二叉树的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!