欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

leetcode 388. Longest Absolute File Path | 388. 文件的最长绝对路径(栈+DFS)

发布时间:2024/2/28 编程问答 57 豆豆
生活随笔 收集整理的这篇文章主要介绍了 leetcode 388. Longest Absolute File Path | 388. 文件的最长绝对路径(栈+DFS) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

题目

https://leetcode.com/problems/longest-absolute-file-path/

题解


没有思路的时候,看 Related Topics,知道这题在考察什么了,顺着这个方向想就好了。

顺便贴一下草稿:

class Solution {public int lengthLongestPath(String input) {String[] list = input.split("\\n");Stack<Integer> stack = new Stack<>(); // 栈中记录累计长度int maxLen = 0;for (String s : list) {int d = getDepth(s); // 获取当前目录的depthwhile (d < stack.size()) { // 不断出栈,直到当前目录被可以包含在栈顶元素中stack.pop();}if (s.contains(".")) { // filemaxLen = Math.max((stack.isEmpty() ? -1 : stack.peek()) + s.length() - d + 1, maxLen); // -1是由于根目录没有前导/,+1是计算包含前导/的长度} else { // dirstack.push((stack.isEmpty() ? -1 : stack.peek()) + s.length() - d + 1);}}return maxLen;}public int getDepth(String s) {int d = 0;while (s.startsWith("\t")) {d++;s = s.substring(1);}return d;} }

总结

以上是生活随笔为你收集整理的leetcode 388. Longest Absolute File Path | 388. 文件的最长绝对路径(栈+DFS)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。