标签:
题目链接:https://leetcode.com/problems/simplify-path/
题目:
Given an absolute path for a file (Unix-style), simplify it.
For example,
path = "/home/"
, => "/home"
path = "/a/./b/../../c/"
, => "/c"
思路:
easy
算法:
public String simplifyPath(String path) { String s[] = path.trim().split("\\/+"); Stack<String> stack = new Stack<String>(); for (String str : s) { if (!str.equals("") && !str.equals(" ") && !str.equals(".") && !str.equals("..")) { stack.push(str); } else if (str.equals("..") && stack.size() != 0) { stack.pop(); } } String res = "";// 将栈中剩余元素组合成路径 for (int i = 0; i < stack.size(); i++) { res = "/" + stack.get(stack.size() - 1 - i) + res; } if (res.equals("")) // 防止/../情况 res = "/"; return res; }
标签:
原文地址:http://blog.csdn.net/yeqiuzs/article/details/51527078