Deque的相关函数
https://www.cnblogs.com/SupremeBoy/p/13653525.html
例题:简化路径(使用双端队列)
/** * 使用Deque维护当前的目录名 * '/'分割后会存在以下情况: * 1、空字符串 * 2、'.' * 3、'.. * 4、目录名 */ class Solution { public String simplifyPath(String path) { String[] names = path.split("/"); Deque<String> deq = new LinkedList<>(); for (String name: names) { if ("".equals(name) || ".".equals(name)) continue; else if ("..".equals(name)) { // 跳回上一级目录 if (!deq.isEmpty()) deq.pollLast(); } else { deq.offerLast(name); } } String ans = ""; if (deq.isEmpty()) ans += "/"; else { while (!deq.isEmpty()) { ans += "/"; ans += deq.pollFirst(); } } return ans; } }
作者:Ryanjie
出处:http://www.cnblogs.com/ryanjan/
本文版权归作者和博客园所有,欢迎转载。转载请在留言板处留言给我,且在文章标明原文链接,谢谢!
如果您觉得本篇博文对您有所收获,觉得我还算用心,请点击右下角的 [推荐],谢谢!