Open
Description
习题
出处 LeetCode 算法第199题
给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。
示例:
输入: [1,2,3,null,5,null,4] 输出: [1, 3, 4] 解释: 1 <--- / \ 2 3 <--- \ \ 5 4 <---
思路
将每一层的元素放入一个数组中,取最后一个值放入结果数组。然后再处理下一层的元素。
解答
var rightSideView = function (root) {
if (!root) {
return [];
}
var res = [];
var stack = [];
stack.push(root);
while (stack.length > 0) {
res.push(stack[stack.length - 1].val);
var temp = [];
for (var i = 0; i < stack.length; i++) {
if (stack[i].left) {
temp.push(stack[i].left);
}
if (stack[i].right) {
temp.push(stack[i].right);
}
}
stack = temp;
}
return res;
};
Metadata
Metadata
Assignees
Labels
No labels