用一棵仅包含“目录”的树来模拟文件系统。每个结点表示一个目录,保存:
children:子目录名到子结点的映射parent:父结点指针(便于 cd ..)初始时创建根目录 /,并在其下创建默认目录 /usr,当前目录指向 /usr。
对每条指令:
提供一个命令行软件,支持用户管理本地的文件系统。文件系统根目录为/,默认创建有/usr目录。命令行初始目录为/usr 。
命令行支持如下命令:
mkdir:键入目录名,在当前目录下创建一个目录;当该目录下已经存在同名文件夹时,mkdir 不会创建;
cd ..: 回退到上一级目录;
cd name进入当前目录下名为name的目录;
ls:打印当前目录下所有子目录列表,字典序升序排列。
小华打开了该系统命令行程序,键入了m条指令,需要打印所有ls指令的执行结果。
注意:用例保证所有命令合法,即不会在/目录下cd ..,也不会cd一个不存在的目录。
第一行输入一个整数 m(m<=200),表示总共需要执行的命令条目数。
接下来 m 行表示 m 条命令,命令中所有路径不加双引号。
输入的命令不会包含题目描述之外的命令。目录名长度不超过 20 个字符。
输出所有ls指令的执行结果,每条ls结果打印一行,目录名用空格隔开。
若当前目录下没有子目录,则打印空格作为单独一行。
**输入
6
cd ..
ls
cd usr
mkdir usr1
mkdir usr2
ls
输出
usr
usr1 usr2