拓扑排序 - wenzhoullq/leetcode GitHub Wiki
int[] rudu=new int[n];
HashMap<Integer,List<Integer>> m=new HashMap<>();//临界表
for(int[] edge:edgss) rudu[edge[1]]++;
for(int i=0;i<n;i++) m.put(i,new ArrayList<>());
Queue<Integer> q=new LinkedList<>();
for(int i=0;i<rudu.length;i++){
if(rudu[i]==0) q.add(i);
}
while(!q.isEmpty()){
int size=q.size();
int cur=q.poll();
List<Integer> list=m.get(cur);
for(int temp:list){
int temp=list.get(j)
rudu[temp]--;
if(rudu[temp]==0) q.add(temp);
}
}