给定一个目录路径的字符串path,path由英文字母,数字," ."," /" 或 " _"组成 ,表示指向某一个文件或者目录的绝对路径,但是有的路径会有复杂的表达,比如"/../"其实还是代表的根目录路径"/",请你将这个绝对路径转化为一个更加简洁的规范路径,转化规则如下: 1.将1个点"."表示当前目录本身,即"/a/b/./"=>表示的还是"/a/b" 2.将2个点".."表示将目前切换到上一级,即"/a/b/../"其实表示的是"/a" 3.其他数目的点或者点加上其他字符视为一个普通目录路径,比如"/…/a.."表示的是根目下有一个名字为"…"的目录文件,"…"的文件下面还有一个名字为"a.."的文件 4.任意多个连续的斜杠 都被视为单个斜杠,即 " ///"和"//"都被视为"/" 你返回的简化规范路径应该如下: 5.始终以斜杠 ‘/’ 开头 6.两个目录名之间必须只有一个斜杠 ‘/’ 7.最后一个目录名 不能 以 ‘/’ 结尾,根目录除外,根目录只有一个"/" 8.路径仅包含从根目录到目标文件或目录的路径上的目录,即除了"."和".."的东西应该简化,其余的普通字符应该保留下来,视为目录路径 数据范围:

区块链毕设网qklbishe.com为您提供问题的解答

给定一个目录路径的字符串path,path由英文字母,数字,".","/" 或 "_"组成,表示指向某一个文件或者目录的绝对路径,但是有的路径会有复杂的表达,比如"/../"其实还是代表的根目录路径"/"请你将这个绝对路径转化为一个更加简洁的规范路径,转化规则如下:
1.将1个点"."表示当前目录本身,即"/a/b/./"=>表示的还是"/a/b"
2.将2个点".."表示将目前切换到上一级,即"/a/b/../"其实表示的是"/a"
3.其他数目的点或者点加上其他字符视为一个普通目录路径,比如"/…/a.."表示的是根目下有一个名字为"…"的目录文件,"…"的文件下面还有一个名字为"a.."的文件
4.任意多个连续的斜杠都被视为单个斜杠,即 "///"和"//"都被视为"/"
你返回的简化规范路径应该如下:
5.始终以斜杠 ‘/’ 开头
6.两个目录名之间必须只有一个斜杠 ‘/’
7.最后一个目录名不能 ‘/’ 结尾,根目录除外,根目录只有一个"/"
8.路径仅包含从根目录到目标文件或目录的路径上的目录,即除了"."和".."的东西应该简化,其余的普通字符应该保留下来,视为目录路径


数据范围:
给定一个目录路径的字符串path,path由英文字母,数字," ."," /" 或 " _"组成 ,表示指向某一个文件或者目录的绝对路径,但是有的路径会有复杂的表达,比如"/../"其实还是代表的根目录路径"/",请你将这个绝对路径转化为一个更加简洁的规范路径,转化规则如下:    1.将1个点"."表示当前目录本身,即"/a/b/./"=>表示的还是"/a/b"    2.将2个点".."表示将目前切换到上一级,即"/a/b/../"其实表示的是"/a"    3.其他数目的点或者点加上其他字符视为一个普通目录路径,比如"/.../a.."表示的是根目下有一个名字为"..."的目录文件,"..."的文件下面还有一个名字为"a.."的文件    4.任意多个连续的斜杠 都被视为单个斜杠,即 " ///"和"//"都被视为"/"          你返回的简化规范路径应该如下:    5.始终以斜杠  '/' 开头      6.两个目录名之间必须只有一个斜杠  '/'      7.最后一个目录名 不能  以  '/' 结尾,根目录除外,根目录只有一个"/"       8.路径仅包含从根目录到目标文件或目录的路径上的目录,即除了"."和".."的东西应该简化,其余的普通字符应该保留下来,视为目录路径                           数据范围:

importjava.util.*;
 
 
publicclassSolution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param path string字符串
     * @return string字符串
     */
    publicString simplifyPath (String path) {
        // write code here
        String[] strs = path.split("/");
        Stack<String> stack =newStack<>();
        for(String str: strs) {
            if(str.equals("..")) {
                if(!stack.isEmpty()) {
                    stack.pop();
                }
            }
            elseif(!(str.equals(".") || str.equals(""))) {
                stack.push(str);
            }
        }
        String res ="";
        while(!stack.isEmpty()) {
            res ="/"+ stack.pop() + res;
        }
        returnres.length() ==0?"/": res;
    }
}

20:56

以上就是关于问题给定一个目录路径的字符串path,path由英文字母,数字," ."," /" 或 " _"组成 ,表示指向某一个文件或者目录的绝对路径,但是有的路径会有复杂的表达,比如"/../"其实还是代表的根目录路径"/",请你将这个绝对路径转化为一个更加简洁的规范路径,转化规则如下: 1.将1个点"."表示当前目录本身,即"/a/b/./"=>表示的还是"/a/b" 2.将2个点".."表示将目前切换到上一级,即"/a/b/../"其实表示的是"/a" 3.其他数目的点或者点加上其他字符视为一个普通目录路径,比如"/…/a.."表示的是根目下有一个名字为"…"的目录文件,"…"的文件下面还有一个名字为"a.."的文件 4.任意多个连续的斜杠 都被视为单个斜杠,即 " ///"和"//"都被视为"/"
你返回的简化规范路径应该如下: 5.始终以斜杠 ‘/’ 开头 6.两个目录名之间必须只有一个斜杠 ‘/’ 7.最后一个目录名 不能 以 ‘/’ 结尾,根目录除外,根目录只有一个"/" 8.路径仅包含从根目录到目标文件或目录的路径上的目录,即除了"."和".."的东西应该简化,其余的普通字符应该保留下来,视为目录路径

数据范围:的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 给定一个目录路径的字符串path,path由英文字母,数字," ."," /" 或 " _"组成 ,表示指向某一个文件或者目录的绝对路径,但是有的路径会有复杂的表达,比如"/../"其实还是代表的根目录路径"/",请你将这个绝对路径转化为一个更加简洁的规范路径,转化规则如下: 1.将1个点"."表示当前目录本身,即"/a/b/./"=>表示的还是"/a/b" 2.将2个点".."表示将目前切换到上一级,即"/a/b/../"其实表示的是"/a" 3.其他数目的点或者点加上其他字符视为一个普通目录路径,比如"/…/a.."表示的是根目下有一个名字为"…"的目录文件,"…"的文件下面还有一个名字为"a.."的文件 4.任意多个连续的斜杠 都被视为单个斜杠,即 " ///"和"//"都被视为"/" 你返回的简化规范路径应该如下: 5.始终以斜杠 ‘/’ 开头 6.两个目录名之间必须只有一个斜杠 ‘/’ 7.最后一个目录名 不能 以 ‘/’ 结尾,根目录除外,根目录只有一个"/" 8.路径仅包含从根目录到目标文件或目录的路径上的目录,即除了"."和".."的东西应该简化,其余的普通字符应该保留下来,视为目录路径 数据范围: