| 1234567891011121314151617181920212223242526272829303132333435 | 
							- package main
 
- import (
 
- 	"strings"
 
- )
 
- func simplifyPath(path string) string {
 
- 	strs := strings.Split(path, "/")
 
- 	res := []string{""}
 
- 	for _, v := range strs {
 
- 		// "/./" or "//" => ""
 
- 		if v == "." || v == "" {
 
- 		} else if v == ".." {
 
- 			// "/../" => "/"
 
- 			// "/d/c/../" => "/d"
 
- 			if len(res) != 1 {
 
- 				res = res[:len(res)-1]
 
- 			}
 
- 		} else {
 
- 			// "/c" => "/c"
 
- 			res = append(res, v)
 
- 		}
 
- 	}
 
- 	// "" => "/"
 
- 	if len(res) == 1 {
 
- 		return "/"
 
- 	}
 
- 	return strings.Join(res, "/")
 
- }
 
- /* func main() {
 
- 	fmt.Println(simplifyPath("/c/"))
 
- 	fmt.Println(simplifyPath("/a/./b/../../c/"))
 
- 	fmt.Println(simplifyPath("/../../"))
 
- } */
 
 
  |