1469. Find All The Lonely Nodes
Previous1460. Make Two Arrays Equal by Reversing Sub-arraysNext1482. Minimum Number of Days to Make m Bouquets
Last updated
Last updated
Input: root = [1,2,3,null,4]
Output: [4]
Explanation: Light blue node is the only lonely node.
Node 1 is the root and is not lonely.
Nodes 2 and 3 have the same parent and are not lonely.Input: root = [7,1,4,6,null,5,3,null,null,null,null,null,2]
Output: [6,2]
Explanation: Light blue nodes are lonely nodes.
Please remember that order doesn't matter, [2,6] is also an acceptable answer.Input: root = [11,99,88,77,null,null,66,55,null,null,44,33,null,null,22]
Output: [77,55,33,66,44,22]
Explanation: Nodes 99 and 88 share the same parent. Node 11 is the root.
All other nodes are lonely.Input: root = [197]
Output: []Input: root = [31,null,78,null,28]
Output: [78,28]func getLonelyNodes(root *TreeNode) []int {
var ans []int
var dfs func(node *TreeNode)
dfs = func(node *TreeNode) {
if node == nil || node.Left == nil && node.Right == nil {
return
}
if node.Left == nil {
ans = append(ans, node.Right.Val)
}
if node.Right == nil {
ans = append(ans, node.Left.Val)
}
dfs(node.Left)
dfs(node.Right)
}
dfs(root)
return ans
}