Wednesday, March 5, 2014

LeetCode: Simplify Path


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".

Solution


Not a difficult problem, but caution needs to be exercised.
Clarify:

  1. see ".", stay in the same folder
  2. see ".." go back to previous folder
Use a stack to hold folder names and their relationship




No comments:

Post a Comment