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