Every day a leetcode
题目来源:1598. 文件夹操作日志搜集器
解法1:模拟
设置一个计数器count,记录返回主文件夹所需的最小步数,初始化为0。
分三种情况讨论:
- “. . /” :移动到当前文件夹的父文件夹。如果已经在主文件夹下,则 继续停留在当前文件夹 。count=max(count-1,0)
- “. /” :继续停留在当前文件夹。count不变
- “x/” :移动到名为 x 的子文件夹中。题目数据 保证总是存在文件夹 x 。count++
代码:
int minOperations(char ** logs, int logsSize){
int ans=0;
for(int i=0;i<logsSize;i++)
{
if(!strcmp(logs[i],"../"))
{
if(ans>0) ans--;
}
else if(!strcmp(logs[i],"./")) continue;
else ans++;
}
return ans;
}
结果: