题目
我的题解
使用栈
class Solution {
public int minOperations(String[] logs) {
Stack<String> stack = new Stack<>();
for (int i = 0; i < logs.length; i++) {
String thisFolder = logs[i];
switch (thisFolder) {
case "../":
if (stack.size() != 0) {
stack.pop();
}
break;
case "./":
break;
default:
stack.push(thisFolder);
}
}
return stack.size();
}
}
暴力
在这里用暴力解法更快,内存占用更少。
class Solution {
public int minOperations(String[] logs) {
int ans = 0;
for (int i = 0; i < logs.length; i++) {
String thisFolder = logs[i];
switch (thisFolder) {
case "../":
ans = (ans == 0) ? ans : ans - 1;
break;
case "./":
break;
default:
ans++;
}
}
return ans;
}
}