思路:
直接存List里面,列举的时候直接从头搜到尾
解答:
package bupt;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/*
*@author:Totoro
*@createDate:2020年3月16日下午4:44:15
*/
public class 文件系统
{
public static void main(String[] args)
{
Scanner cin=new Scanner(System.in);
int t=cin.nextInt();
cin.nextLine();
List<Obj> isystem=new ArrayList<Obj>();
String s;
while(t--!=0)
{
int n=cin.nextInt();
cin.nextLine();
isystem.clear();
while(n--!=0)
{
isystem.add(new Obj(1,"root","null"));
s=cin.nextLine();
String[] sql=s.split(" ");
if(sql[0].equals("CREATEFILE"))
isystem.add(new Obj(0,sql[1],sql[2]));
if(sql[0].equals("CREATEDIR"))
isystem.add(new Obj(1,sql[1],sql[2]));
if(sql[0].equals("LISTFILE"))
for(Obj o:isystem)
if(o.type==0&&o.Dir.equals(sql[1]))
System.out.println(o.name);
if(sql[0].equals("LISTDIR"))
for(Obj o:isystem)
if(o.type==1&&o.Dir.equals(sql[1]))
System.out.println(o.name);
}
}
}
public static class Obj
{
int type;
String name;
String Dir;
public Obj(int type,String name,String Dir)
{
this.type=type;
this.name=name;
this.Dir=Dir;
}
}
}