LeetCode 1589 文件夹操作日志搜集器[栈] HERODING的LeetCode之路

Posted HERODING23

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 1589 文件夹操作日志搜集器[栈] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。


解题思路:
这是一道很好的简单题,文件系统的结构本身就是栈的形式,所以用栈的方式解决是最合理的方式,将所在的文件结构放入栈中,随着深入和返回进行入栈出栈操作,解法很简单,但是如果稍加改编,题目可以更加复杂,比如加入绝对路径搜集,加入“…/d1/”这样退到父文件夹再往子文件夹去的操作,这些都值得思考的,代码如下:

class Solution 
public:
    int minOperations(vector<string>& logs) 
        int depth = 0;
        stack<string> s;
        for(int i = 0; i < logs.size(); i ++) 
            if(logs[i] == "./") 
                continue;
             else if(logs[i] == "../") 
                if(!s.empty()) 
                    s.pop();
                
             else 
                string temp = logs[i].substr(0, logs.size() - 1);
                s.push(temp);
            
        
        return s.size();
    
;

以上是关于LeetCode 1589 文件夹操作日志搜集器[栈] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章

每日一题1598. 文件夹操作日志搜集器

10.18--一下午连肝20道leetcode题(纯C实现)

flume搜集日志:如何解决实时不断追加的日志文件及不断增加的文件个数问题

日志搜集分析-- 自定义elasticsearch数据查询

日志搜集平台ELK-cerebro部署安装

Docker系列认识ELK,docker安装ELK和IK分词器