package string; import java.util.ArrayDeque; import java.util.Deque; import java.util.StringTokenizer; /** * Created by gouthamvidyapradhan on 28/07/2017. *
* 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 SimplifyPath {
/**
* Main method
*
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
System.out.println(new SimplifyPath().simplifyPath("/home/"));
}
public String simplifyPath(String path) {
if (path == null || path.isEmpty()) return "/";
StringTokenizer st = new StringTokenizer(path, "/");
Deque