DEV Community

ZeeshanAli-0704
ZeeshanAli-0704

Posted on

Binary Tree Right / left Side View

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;
};


Enter fullscreen mode Exit fullscreen mode

Top comments (0)