LeetCode - 1233. Remove Sub-Folders from the Filesystem

链接:https://leetcode-cn.com/problems/remove-sub-folders-from-the-filesystem/
难度:medium

解题思路:按字母序排列,那么默认就以前缀树的方式排好了,然后只需要遍历,看看是否前缀已经存在


func removeSubfolders(folder []string) []string {
    sort.Strings(folder)

    res := []string {}
    res = append(res, folder[0])
    pilot := folder[0]
    for i := 1; i < len(folder); {
        if strings.HasPrefix(folder[i], pilot + "/") {
            i = i + 1
        } else {
            res = append(res, folder[i])
            pilot = folder[i]
            i = i + 1
        }
    }
    return res
}

执行用时 : 76 ms , 在所有 Go 提交中击败了 60.71% 的用户
内存消耗 : 10 MB , 在所有 Go 提交中击败了 100.00% 的用户

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容