Java Implementation test cases failing
@gvspraveen113 Bro just print the output in one single line with space in between.
Correct code-
import java.util.*;
public class Main {
public static List<Integer> killProcess(List<Integer> pid, List<Integer> ppid, int kill){
Map<Integer,List<Integer>> map = new HashMap<>();
for(int i=0;i<ppid.size();i++){
List<Integer> list=map.getOrDefault(ppid.get(i),new ArrayList<>());
list.add(pid.get(i));
map.put(ppid.get(i),list);
}
Queue<Integer> bfs=new LinkedList<>();
List<Integer> list=new ArrayList<>();
bfs.add(kill);
while(!bfs.isEmpty()){
int temp=bfs.poll();
list.add(temp);
if(map.get(temp)!=null){
bfs.addAll(map.get(temp));
}
}
return list;
}
public static void main (String args[]) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int kill=sc.nextInt();
List<Integer> processes=new ArrayList<>();
List<Integer> parentProcesses=new ArrayList<>();
for(int i=0;i<n;i++){
processes.add(sc.nextInt());
}
for(int i=0;i<n;i++){
parentProcesses.add(sc.nextInt());
}
List<Integer> killedProcesses=killProcess(processes,parentProcesses,kill);
for(int kills: killedProcesses){
System.out.print(kills+" ");
}
}
}