...

/

Design In-Memory File System

Design In-Memory File System

Try to solve the Design In-Memory File System problem.

Statement

Design an in-memory file system by implementing a struct, FileSystem, which should provide the following functionalities:

  • Init(): Initializes the object of the system.

  • Void Ls(String path): If path is a file path, return a list that only contains the file’s name. If it’s a directory path, return the list of files and directory names in this directory. Your function should return the output (file and directory names together) in lexicographical order.

  • Void Mkdir(String path): If the given path does not exist, make a new directory according to it. The function should create all the middle directories in the path if they don’t exist.

  • Void AddContentToFile(String filePath, String content): If the file doesn’t exist, create that file containing the given content. If the file already exists, append the given content to the original content.

  • Void ReadContentFromFile(String filePath): Return given file’s content in string format.

Note: You may assume that all directory names and file names only contain lowercase letters, and the ...