問題 https://leetcode-cn.com/problems/binary-tree-level-order-traversal-ii/
練習使用JavaScript解答
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} root
* @return {number[][]}
*/
var levelOrderBottom = function(root) {
var arr = [[],], que = [];
var a, level = root, levelt;
if(!root)
return [];
que.push(root);
while(que.length) {
a = que.shift();
arr[arr.length-1].push(a.val);
if(a.left) {
que.push(a.left);
levelt = a.left;
}
if(a.right) {
que.push(a.right);
levelt = a.right;
}
if(level == a && que.length) {
arr[arr.length] = [];
level = levelt;
}
}
return arr.reverse();
};