1469. Find All The Lonely Nodes

https://leetcode.com/problems/find-all-the-lonely-nodes/

class Solution:
    def getLonelyNodes(self, root: TreeNode) -> List[int]:
        self.res =[]
        def dfs(node):
            if not node:
                return
            if not node.left and node.right:
                self.res.append(node.right.val)
            if node.left and not node.right:
                self.res.append(node.left.val)
            dfs(node.left)
            dfs(node.right)
        dfs(root)
        return self.res
        

Cleaner

class Solution:
    def getLonelyNodes(self, root: TreeNode) -> List[int]:
        self.res =[]
        def dfs(node,isLonely):
            if not node:
                return
            if isLonely:
                self.res.append(node.val)
            dfs(node.left,node.right == None)
            dfs(node.right,node.left == None)
        dfs(root, False)
        return self.res
        

Last updated

Was this helpful?