文章作者:Tyan
博客:noahsnail.com | 优快云 | 简书
1. Description

2. Solution
**解析:**Version 1,使用数据结构栈,依次处理日志操作即可,最后栈中的元素数量即为当前在第几层子目录,因此返回根目录的次数为栈的长度。
- Version 1
class Solution:
def minOperations(self, logs: List[str]) -> int:
stack = []
for log in logs:
if log == './':
continue
elif log == '../':
if stack:
stack.pop()
else:
stack.append(log)
return len(stack)
**解析:**Version 2,思想与1一样,直接计数即可。
- Version 2
class Solution:
def minOperations(self, logs: List[str]) -> int:
count = 0
for log in logs:
if log == './':
continue
elif log == '../':
count = max(0, count - 1)
else:
count += 1
return count
该文提供了两种解决方案来计算在日志操作中返回根目录所需的最小次数。Version1使用栈来处理./和..操作,Version2直接计数。当遇到..时,栈的元素减少或保持不变,而.被忽略。最后,返回栈的长度或计数值作为答案。
527

被折叠的 条评论
为什么被折叠?



