LOG_ENTRY // Algorithms
Recursivemapping:
RightandLeftviewsofBinaryTrees
Apr 2026 7 min read
Visualizing a tree from the side requires more than just traversal; it requires tracking the 'first' or 'last' node seen at every vertical level of the structure.
SOURCE_MANIFEST
class Solution {
// Right View: The last node seen at each level
public List<Integer> rightSideView(TreeNode root) {
List<Integer> result = new ArrayList<>();
solve(root, 0, result);
return result;
}
private void solve(TreeNode node, int level, List<Integer> res) {
if (node == null) return;
// If this is the first time we've reached this depth,
// it must be the right-most node
if (level == res.size()) {
res.add(node.val);
}
solve(node.right, level + 1, res);
solve(node.left, level + 1, res);
}
}