Given the root of a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom.
Example 1:
Input: root = [1,2,3,null,5,null,4]
Output: [1,3,4]
Example 2:
Input: root = [1,null,3]
Output: [1,3]
Example 3:
Input: root = []
Output: []
var rightSideView = function (root) {
if (!root) return [];
const q = [root];
const result = [];
while (q.length) {
const size = q.length;
result.push(q[size - 1].val);
for (let i = 0; i < size; i++) {
const node = q.shift();
node.left && q.push(node.left);
node.right && q.push(node.right);
}
}
return result;
};
var leftSideView = function (root) {
if (!root) return [];
const q = [root];
const result = [];
while (q.length) {
const size = q.length;
result.push(q[0].val);
for (let i = 0; i < size; i++) {
const node = q.shift();
node.left && q.push(node.left);
node.right && q.push(node.right);
}
}
return result;
};
Top comments (0)