
Given a binary tree, return the values visible from the left side when looking from top to bottom. If multiple nodes exist at the same depth, the leftmost node is visible. Provide iterative (level-order) and recursive solutions, discuss time and space complexity, and handle skewed trees and missing children.