Leetcode

Crawler Log Folder

  • Time:O(n)
  • Space:O(1)

C++

class Solution {
 public:
  int minOperations(vector<string>& logs) {
    int ans = 0;

    for (const string& log : logs) {
      if (log == "./") continue;
      if (log == "../")
        ans = max(0, ans - 1);
      else
        ++ans;
    }

    return ans;
  }
};

JAVA

class Solution {
  public int minOperations(String[] logs) {
    int ans = 0;

    for (final String log : logs) {
      if (log.equals("./"))
        continue;
      if (log.equals("../"))
        ans = Math.max(0, ans - 1);
      else
        ++ans;
    }

    return ans;
  }
}