相对路径(大数据系统配置检测题)
题目描述
在典型的文件系统中,文件表示的是完整的数据单位。文件被包含在目录中,目录又被包含在其它目录当中。一个路径指的是某个文件或者目录在文件系统中的地址。大多数类Unix的操作系统都有一个唯一的根目录,所有其它目录都在根目录当中。这些操作系统的文件路径都是如下格式的:
/<目录名>/<目录名>/.../<目录名>/<文件名>
同理,目录路径是如下格式的:
/<目录名>/<目录名>/.../<目录名>
例如,"/etc/passwd"表示根目录中叫做etc的目录中的一个叫做passwd的文件。"/home/user/pictures/me"或者"/file"都是合法的路径。在本题中,我们的文件名和目录名都是只含有小写字母(’a’-‘z’)的非空序列。
一个特例是根目录自身。用"/"来表示根目录。
当一个用户使用这种操作系统时,它当前所在目录称为“当前目录”。访问当前目录的文件时,不需要输入完整的绝对目录。比如,假设当前目录是"/home/user/pictures",如果你访问"/home/user/pictures/me"这个文件,只需输入相对目录"me"即可(相对目录跟绝对目录的区别是,没有前导的"/")。并且,访问当前目录的子目录中的文件,也不需要输入完整的目录。比如你要访问"/home/user/pictures/others/she",只需输入"others/she"即可。
更加NB的是访问上级目录。".."表示的就是当前目录的上一级目录。"../.."表示的是当前目录上级目录的上级目录,依此类推。例如,当前目录是"/home/user/pictures",你希望访问"/home/top/data/file",你只需输入"../../top/data/file"。
给定你一个完整的绝对目录名path,表示你需要访问的文件的绝对目录,以及当前目录currentDir。请你根据上面的条件求出你需要输入的相对目录命令。注意,你需要输出长度最短的一个(例如,如果当前目录是"/home/user/pictures",你希望访问"/home/user/movies/title",你的命令应该是"../movies/title"而不是"../../user/movies/title")。
注意,允许一些文件、目录名称相等。但是,在同一目录下,任何文件与文件、目录与目录、文件与目录的名称都不能相等。因此给定的目录是绝对明确的。也就是说,下面这个例子是不合法的:path="/home/user/some",currentDir="/home/user/some/other"。因为这个输入意味着,在/home/user目录下,有一个文件叫做some,同时有一个目录也叫做some。因此这两个目录本身虽然合法,但两个目录自相矛盾。
输入输出格式
输入格式:
共两行,包含两个字符串。第一行表示path,第二行表示currentDir。
输出格式:
只有一行,包含一个字符串,表示你求出的相对目录。
样例输入1:
/home/top/data/file
/home/user/pictures
样例输出1:
../../top/data/file
说明
path和currentDir包含的字符数为不超过50的正整数。
path和currentDir只包含"/"和小写字母。
path和currentDir都是合法目录,且不会自相矛盾。
【提示】
文件目录名永远不会以"/"结尾。目录的目录名永远不会以"/"结尾,除了一个特例:根目录是"/"。
信息
- 难度
- 2
- 分类
- (无)
- 标签
- 递交数
- 3
- 已通过
- 1
- 通过率
- 33%
- 上传者