leetCode71. 简化路径

embedded/2024/10/22 14:31:55/

leetCode71. 简化路径
代码

// 化简:就是把所有的., .. // 去掉弄成进入想进的目录,且结果最后不能有/
// 实现思路: 本质上是一个栈,就是进栈出栈的一个模拟实现
class Solution {
public:string simplifyPath(string path) {// 为了格式统一,都是通过文件名+'/' 进行扫描,在结尾加上一个'/'// 为的是每个文件名由'/'截指if(path.back() != '/') path += '/'; string res = "", name = "";for(auto c : path){if(c != '/') name += c;else{ // c == '/'后,判断name,①name=="."或者""直接忽略,②name==".."去除前面已经存在的/name// c == '/'而name什么都没有,就表示/或者// 直接忽略就好if(name == ".."){while(res.size() && res.back() != '/') res.pop_back();if(res.size()) res.pop_back(); // 这个是为了去除name前面的'/'}else if(name != "." && name != ""){res += '/' + name;}name.clear();}}if(res == "") res += '/';return res;}
};

精简版

class Solution {
public:string simplifyPath(string path) {if(path.back() != '/') path += '/';string res = "", name = "";for(auto c : path){if(c != '/') name += c;else{if(name == ".."){while(res.size() && res.back() != '/') res.pop_back();if(res.size()) res.pop_back();}else if(name != "." && name != ""){res += '/' + name;}name.clear();}}if(res.empty()) res += '/';return res;}
};

http://www.ppmy.cn/embedded/33631.html

相关文章

基于 Dockerfile 部署 LNMP 架构

目录 前言 1、任务要求 2、Nginx 镜像创建 2.1 建立工作目录并上传相关安装包 2.2 编写 Nginx Dockerfile 脚本 2.3 准备 nginx.conf 配置文件 2.4 生成镜像 2.5 创建 Nginx 镜像的容器 2.6 验证nginx 3、Mysql 镜像创建 3.1 建立工作目录并上传相关安装包 3.2 编写…

SQL 基础 | JOIN 操作介绍

在SQL中,JOIN是一种强大的功能,用于将两个或多个表中的行结合起来,基于相关的列之间的关系。 JOIN操作通常用在SELECT语句中,以便从多个表中检索数据。 以下是几种基本的JOIN类型以及它们的用法: INNER JOIN&#xff1…

Web Storage 笔记12 操作购物车

相关内容:购物车实例 WebStorage存储空间足够大,访问都在客户端(Client)完成。有些客户端先处理或检查数据,就可以直接使用WebStorage进行存储,不仅可以提高访问速度,还可以降低服务器的练习。负担。例如,购…

写一个在创建css文件之后的初始化样式

创建CSS文件后,进行初始化样式是一个很好的做法,因为它可以消除不同浏览器之间的默认样式差异,使得页面在不同浏览器中表现得更一致。下面是一个简单的CSS初始化样式示例: css /* 初始化样式 */ /* 清除内外边距 */ * { mar…

力扣数据库题库学习(5.4日)--1661. 每台机器的进程平均运行时间

1661. 每台机器的进程平均运行时间 问题链接 解题思路 现在有一个工厂网站由几台机器运行,每台机器上运行着 相同数量的进程 。编写解决方案,计算每台机器各自完成一个进程任务的平均耗时。 完成一个进程任务的时间指进程的’end’ 时间戳 减去 ‘sta…

css基础之盒子模型、浮动问题

盒子模型 一、盒子模型的组成 border边框、content内容、padding内边距、margin外边距(与另外盒子的距离) 1.边框 border-width border-style: solid实线 border-style: dashed虚线 border-style: dotted点线 border-color border: 1pxx solid pink;复合写法,无…

【小浩算法 cpp题解】层次遍历与BFS

层次遍历与BFS 前言我的思路思路一:队列思路二 递归 我的代码运行结果 前言 二叉树的层次遍历应该是数据结构里面最基础的算法了,比较容易想到的就是用队列,刚好C的模板库里面也有queue这个数据结构,入队出队已经给我们实现好了,…

深入探索 MySQL:成本模型解析与查询性能优化

MySQL作为最流行的关系型数据库管理系统之一,在各种应用场景中都有着广泛的应用。 然而,在处理大规模数据时,查询性能往往成为了关注焦点。 本文将深入探讨MySQL的成本模型,解析其工作原理,并提供一系列优化策略&…