Node with 0 or 1 parents
1 2 3
/ \ / \
4 5 6
\
7 public List<Integer> findNodesWithZeroOrOneParent(int[][] edges)
{
List<Integer> res = new ArrayList<Integer>();
// child -- > set of its parents
Map<Integer, Set<Integer>> map = new HashMap<>();
for(int i = 0; i< edges.length; i++)
{
int parent = edges[i][0];
int child = edges[i][1];
map.putIfAbsent(child, new HashSet<Integer>());
map.get(child).add(parent);
}
for(Map.Entry<Integer, Set<Integer>> entry : map.entry.Set())
{
if(entry.getValue().size() <=1)
{
res.add(entry.getKey());
}
}
return res;
}Last updated