diff options
author | Jack Sangdahl <[email protected]> | 2025-07-18 23:30:55 -0600 |
---|---|---|
committer | Jack Sangdahl <[email protected]> | 2025-07-18 23:30:55 -0600 |
commit | 8f2cda0517f8d3aef1e62f0f29926a56f70216b0 (patch) | |
tree | 86f271be06385c192d59480faf35d924970a128d /remove_subfolder_filesystem.py | |
parent | 38317d34b680f34a58fd599a3b858dd37deab83c (diff) | |
download | leetcode-8f2cda0517f8d3aef1e62f0f29926a56f70216b0.tar.gz leetcode-8f2cda0517f8d3aef1e62f0f29926a56f70216b0.zip |
1233. remove sub-folders from the filesystem
Diffstat (limited to 'remove_subfolder_filesystem.py')
-rw-r--r-- | remove_subfolder_filesystem.py | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/remove_subfolder_filesystem.py b/remove_subfolder_filesystem.py index 484831f..8270975 100644 --- a/remove_subfolder_filesystem.py +++ b/remove_subfolder_filesystem.py @@ -16,15 +16,15 @@ class Solution(object): :type folder: List[str] :rtype: List[str] """ - folder.sort(key=lambda x: len(x)) - vis = set() - for i in folder: - for j in range(2, len(i)): - if i[j] == "/" and i[:j] in vis: - break - else: - vis.add(i) - return list(vis) + n = len(folder) + folder.sort() + ans = [] + ans.append(folder[0]) + for i in range(1, n): + last = ans[-1] + if not folder[i].startswith(last + "/"): + ans.append(folder[i]) + return ans if __name__ == "__main__": |