难度:中等
题目描述:
请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。
示例:
给定二叉树: [3,9,20,null,null,15,7],[[3],[20,9],[15,7]]
解题思路:
var levelOrder = function(root) {if (!root) return [];let queue = [root];let res = [];let left = true;while (queue.length > 0) {let currentLevel = [];let len = queue.length;while (len) {let cur = queue.shift();if(left){currentLevel.push(cur.val);} else {currentLevel.unshift(cur.val);}if (cur.left) queue.push(cur.left);if (cur.right) queue.push(cur.right);len--;}left = !leftres.push(currentLevel);}return res;};
