当前位置: 首页 > news >正文

想要精通算法和SQL的成长之路 - 简化路径

想要精通算法和SQL的成长之路 - 简化路径

  • 前言
  • 一. 简化路径

前言

想要精通算法和SQL的成长之路 - 系列导航

一. 简化路径

原题连接
在这里插入图片描述
在这里插入图片描述
思路如下:

  1. 我们根据 "/" 去拆分字符串,得到每个子目录。这里拿到的子目录可能是空字符串,需要注意一下。
  2. 我们遍历这个目录,用一个双向队列存储合法的子目录。
  3. 如果遇到的子目录是 ". ." ,说明是向上层目录前进,我们从移除队尾元素。
  4. 如果遇到的子目录是 ".",咱啥也不用管。
  5. 剩余的子目录都是有效路径,我们往队尾塞。
  6. 最后我们再次遍历双向队列,从队首开始取,拼接字符串得到最终的简化路径。
public String simplifyPath(String path) {LinkedList<String> queue = new LinkedList<>();for (String item : path.split("/")) {if (item.equals("..")) {// 队列必须非空,我们才能移除if (!queue.isEmpty()) {queue.pollLast();}} else if (!".".equals(item) && !item.isEmpty()) {// 这里注意一下,空元素以及 "." 我们都不用管queue.addLast(item);}}StringBuilder res = new StringBuilder();// 从队首元素开始取元素,拼接字符while (!queue.isEmpty()) {res.append("/" + queue.pollFirst());}String rr = res.toString();// 最后再判空一下return rr.isEmpty() ? "/" : rr;
}
http://www.lryc.cn/news/185319.html

相关文章:

  • 【哈士奇赠书活动 - 41期】- 〖产品设计软技能:创业公司篇〗
  • MARS: An Instance-aware, Modular and Realistic Simulator for Autonomous Driving
  • 关联规则挖掘(上):数据分析 | 数据挖掘 | 十大算法之一
  • centos7 + citus12 + postgresql 14 安装
  • MySQL、Oracle、SQL Server / MS Access 中的 NULL函数用法
  • App Store审核被拒原因与解决方案
  • ​LeetCode解法汇总121. 买卖股票的最佳时机
  • 【Go】go-es统计接口被刷数和ip访问来源
  • debian 安装 pg --chatGpt
  • 商城小程序代客下单程序开发演示
  • SpringBoot 整合 jetcache缓存
  • HTML5+CSS3+移动web 前端开发入门笔记(二)HTML标签详解
  • Maven 配置阿里云镜像
  • 矢量图绘制软件EazyDraw mac中文版软件介绍
  • Cocos Creator3.8 项目实战(四)巧用九宫格图像拉伸
  • 怎么使用jenkins设置web自动打包
  • 完美解决 flex 实现一行三个,显示多行,左对齐
  • 初识Spring
  • Mybatis 使用参数时$与#的区别
  • java基本数据类型和包装类型区别
  • 解锁Spring Boot的强大配置功能:@ConfigurationProperties与@PropertySources详解
  • Java和Vue字符串加密
  • Java:java版结巴分词:jieba-analysis
  • java生成一个符合密码学和安全性的随机秘钥
  • C++ - 右值引用 和 移动拷贝
  • 项目成员积分规则
  • Linux CentOS7 vim多窗口编辑
  • git使用,一点点
  • 第五章:最新版零基础学习 PYTHON 教程—Python 字符串操作指南(第八节 - 如何在 C/C++、Python 和 Java 中分割字符串?)
  • 【Java】语法特性篇