public String simplifyPath(String path) {
String[] names = path.split("/");//将path以/分割
ArrayDeque<String> stack = new ArrayDeque<String>();
//遍历目录名
for (String name : names)
{
//如果为两点则返回上一级,即出栈
if ("..".equals(name))
{
if (!stack.isEmpty())
{
stack.pollLast();
}
}
//如果name不为空或一点,则入栈
else if (name.length() > 0 && !".".equals(name))
{
stack.offerLast(name);
}
}
StringBuffer ans = new StringBuffer();//可修改字符串
if (stack.isEmpty())
{
ans.append('/');
}
else
{
//转为规范格式
while (!stack.isEmpty())
{
ans.append('/');
ans.append(stack.pollFirst());
}
}
return ans.toString();
}
2022.1.6-----leetcode.71
最新推荐文章于 2024-07-25 11:15:54 发布