1598. Crawler Log Folder

1598. Crawler Log Folder #

题目 #

  • 每当用户执行变更文件夹操作时,LeetCode 文件系统都会保存一条日志记录。下面给出对变更操作的说明:
    • "../" :移动到当前文件夹的父文件夹。如果已经在主文件夹下,则 继续停留在当前文件夹
    • "./" :继续停留在当前文件夹**。**
    • "x/" :移动到名为 x 的子文件夹中。题目数据 保证总是存在文件夹 x
  • 给你一个字符串列表 logs ,其中 logs[i] 是用户在 ith 步执行的操作。
  • 文件系统启动时位于主文件夹,然后执行 logs 中的操作。
  • 执行完所有变更文件夹操作后,请你找出 返回主文件夹所需的最小步数

思路 #

模拟 #

代码 #

模拟 #

class Solution {
    public int minOperations(String[] logs) {
        int ans = 0;
        for (String log: logs) {
            switch (log) {
                case "../":
                    if (ans > 0) ans -= 1;
                    break;
                case "./":
                    break;
                default:
                    ans += 1;
                    break;
            }
        }
        return ans;
    }
}

致谢 #

宫水三叶