9
缩短绝对路径
有时,使用当前工作目录作为参考,可以缩短长的绝对路径,例如linux工具的命令行参数。 $ pwd /home/heh $ cat /home/heh/mydir/myfile my stuff $ cat mydir/myfile my stuff 在这个挑战中,您应该使一个函数或程序接收两个参数: 绝对路径,使用linux格式(以开头/) 当前目录,使用相同格式 输出是以下两者中的较短者: 输入1不变 与绝对路径引用相同文件/目录的相对路径 重点: 如果您的操作系统与linux兼容,则可以使用系统的当前目录而不是将其接收为输入 您可以假定输入仅包含字母数字字符(和路径分隔符) 您可以假设输入的绝对路径/末尾没有路径分隔符 您可以假设输入的当前目录/在末尾有路径分隔符 您不能假定绝对路径引用了一个现有文件,或者该文件的任何部分都是可访问的目录;但是,可以假定当前目录有效 您可以假设在任何一条路径附近都没有符号链接-因为我不想使用任何特殊的方式来处理符号链接 无需支持其中两个输入均为根目录的情况 “当前目录”应输出为.(空字符串无效) 测试用例(输入1,输入2,输出): /home/user/mydir/myfile /home/user mydir/myfile /var/users/admin/secret/passwd /var/users/joe/hack ../../admin/secret/passwd /home/user/myfile /tmp/someplace /home/user/myfile /dir1/dir2 /dir1/dir2/dir3/dir4 ../.. /dir1/dir2 /dir1/dir2 .