# Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right class Solution: def getLonelyNodes(self, root: Optional[TreeNode]) -> List[int]: result = [] def dfs(node): if not node: return None if node.left and not node.right: result.append(node.left.val) elif node.right and not node.left: result.append(node.right.val) dfs(node.left) dfs(node.right) dfs(root) return result Complexity Time: O(n) Space: O(1)