import java.util.Stack; /** * Given an absolute path for a file (Unix-style), simplify it. *
* For example, * path = "/home/", => "/home" * path = "/a/./b/../../c/", => "/c" * Corner Cases: * Did you consider the case where path = "/../"? * In this case, you should return "/". * Another corner case is the path might contain multiple slashes '/' together, such as "/home//foo/". * In this case, you should ignore redundant slashes and return "/home/foo". */ public class SimplifyUnixPath { public static void main(String[] args) { String s1 = "//../"; System.out.println(simplifyUnixPath(s1)); String s2 = "/a/./.b//../c/"; System.out.println(simplifyUnixPath(s2)); String s3 = "/home/of/foo/../../bar/../is/.//here/."; System.out.println(simplifyUnixPath(s3)); String s4 = "/home/of/foo/../"; System.out.println(simplifyUnixPath(s4)); } public static String simplifyUnixPath(String path) { Stack