388. Longest Absolute File Path
\n
) 将原串分割开,相当于一次读一行\t
的个数来当前目录/文件在第几层参考了这个帖子.
class Solution {
public int lengthLongestPath(String input) {
Map<Integer, Integer> levelMap = new HashMap<>();
levelMap.put(-1, 0);
String[] dirs = input.split("\n");
int longest = 0;
for (String dir : dirs) {
int level = dir.lastIndexOf("\t") + 1;
int curLen = dir.length() - level;
if (dir.contains(".")) {
longest = Math.max(longest, levelMap.get(level - 1) + curLen);
} else {
levelMap.put(level, levelMap.get(level - 1) + curLen + 1); // +1 for the slash
}
}
return longest;
}
}