原题链接
class Solution {
public String simplifyPath(String path) {
Deque<String> stack = new LinkedList<>();
for (String s : path.split("/")) {
if (s.equals("..")) {
if (!stack.isEmpty()) {
stack.pop();
}
} else if (!s.equals(".") && !s.isEmpty()) {
stack.push(s);
}
}
StringBuilder sb = new StringBuilder();
while (!stack.isEmpty()) {
sb.append("/").append(stack.removeLast());
}
if (sb.length() == 0) {
return "/";
}
return sb.toString();
}
}
class Solution {
public String simplifyPath(String path) {
StringBuilder res = new StringBuilder();
StringBuilder name = new StringBuilder();
if (path.charAt(path.length() - 1) != '/') path = path + "/";
for (int i = 0; i < path.length(); i++) {
char c = path.charAt(i);
if (c != '/') name.append(c);
else {
String nameStr = name.toString();
if (nameStr.equals("..")) {
while (!res.isEmpty() && res.charAt(res.length() - 1) != '/') res.deleteCharAt(res.length() - 1);
if (!res.isEmpty()) res.deleteCharAt(res.length() - 1);
} else if (!nameStr.equals(".") && !nameStr.isEmpty()) {
res.append("/").append(nameStr);
}
name = new StringBuilder();
}
}
if (res.isEmpty()) return "/";
return res.toString();
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧