LeetCode 71. 简化路径(栈)

1. 题目

以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。

在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。

请注意,返回的规范路径必须始终以斜杠 / 开头,并且两个目录名之间必须只有一个斜杠 /。最后一个目录名(如果存在)不能以 / 结尾。此外,规范路径必须是表示绝对路径的最短字符串。

示例 1:
输入:"/home/"
输出:"/home"
解释:注意,最后一个目录名后面没有斜杠。示例 2:
输入:"/../"
输出:"/"
解释:从根目录向上一级是不可行的,因为根是你可以到达的最高级。示例 3:
输入:"/home//foo/"
输出:"/home/foo"
解释:在规范路径中,多个连续斜杠需要用一个斜杠替换。示例 4:
输入:"/a/./b/../../c/"
输出:"/c"示例 5:
输入:"/a/../../b/../c//.//"
输出:"/c"示例 6:
输入:"/a//bc/d//././/.."
输出:"/a/b/c"

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/simplify-path
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 栈解题

  • 需要考虑四种情况 /,.,..,其他
  • 用栈来记录路径,遇到..弹栈,遇到其他压栈
class Solution {
public:string simplifyPath(string path) {stack<string> stk;string file;path += '/';	//便于处理最后一次边界for(int i = 0; i < path.size(); ++i){if(path[i] == '/')	//遇到分隔符,需要处理{if(file == ".."){if(!stk.empty())stk.pop();}else if(file != "" && file != ".")stk.push(file);file = "";	//处理完,清空}else// != '/'{file += path[i];}}string ans;while(!stk.empty()){ans = '/'+stk.top()+ans;stk.pop();}if(ans == "")return "/";return ans;}
};

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477616.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我有一段很厉害的代码,不外传的那种

文 | 郭忠明知乎最近在知乎上看到一个问题&#xff0c;叫做“程序员有没有很厉害、不外传的代码”。​好像在这个遍地都是开源项目的时代&#xff0c;啥代码都藏不住。但其实&#xff0c;是有的&#xff0c;而且有不少&#xff01;很多算法在没有公开前&#xff0c;普通程序员都…

开源开放 | OpenKG发布cnSchema重构版本

cnSchema网站&#xff1a;http://cnschema.openkg.cn/GitHub地址&#xff1a;https://github.com/cnschema/cnSchema开放许可协议&#xff1a;CC 0摘要cnSchema是由OpenKG管理和维护的面向中文知识图谱的Schema参考标准。结合中文语言特点和中文领域特点需求&#xff0c;cnSche…

Spring Cloud构建微服务架构:分布式服务跟踪(抽样收集)【Dalston版】

通过Trace ID和Span ID已经实现了对分布式系统中的请求跟踪&#xff0c;而这些记录的跟踪信息最终会被分析系统收集起来&#xff0c;并用来实现对分布式系统的监控和分析功能&#xff0c;比如&#xff1a;预警延迟过长的请求链路、查询请求链路的调用明细等。此时&#xff0c;我…

LeetCode 229. 求众数 II(摩尔投票)

1. 题目 给定一个大小为 n 的数组&#xff0c;找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。 说明: 要求算法的时间复杂度为 O(n)&#xff0c;空间复杂度为 O(1)。 示例 1: 输入: [3,2,3] 输出: [3] 示例 2: 输入: [1,1,1,3,3,2,2,2] 输出: [1,2]来源&#xff1a;力扣&#xf…

95后CV工程师晒出工资单:狠补了这个,真香…

许多计算机视觉任务需要对图像进行智能分割&#xff0c;以理解图像中的内容&#xff0c;并使每个部分的分析更加容易。今天的图像分割技术使用计算机视觉深度学习模型来理解图像的每个像素所代表的真实物体&#xff0c;这在十年前是无法想象的。图像分割有助于确定目标之间的关…

论文浅尝 | CAKE:一个用于多视图知识图谱补全的可扩展性常识感知框架

笔记整理&#xff1a;陈子强&#xff0c;天津大学硕士链接&#xff1a;https://aclanthology.org/2022.acl-long.36.pdf动机以往的知识图谱补全仅仅依靠事实级别数据来预测实体之间缺失的关系&#xff0c;这样忽略了有价值的常识性知识。以往的知识图谱嵌入面临无效的负采样和事…

Spring Cloud构建微服务架构:分布式服务跟踪(收集原理)【Dalston版】

在本节内容之前&#xff0c;我们已经对如何引入Sleuth跟踪信息和搭建Zipkin服务端分析跟踪延迟的过程做了详细的介绍&#xff0c;相信大家对于Sleuth和Zipkin已经有了一定的感性认识。接下来&#xff0c;我们介绍一下关于Zipkin收集跟踪信息的过程细节&#xff0c;以帮助我们更…

LeetCode 263. 丑数 264. 丑数 II(DP)

文章目录1. LeetCode 263. 丑数解题2. LeetCode 264. 丑数 IIDP解题1. LeetCode 263. 丑数 编写一个程序判断给定的数是否为丑数。 丑数就是只包含质因数 2, 3, 5 的正整数。 示例 1: 输入: 6 输出: true 解释: 6 2 3示例 2: 输入: 8 输出: true 解释: 8 2 2 2示例 3: …

对比学习效果差?谷歌提出弱语义负样本,有效学习高级特征!

文 | jxyxiangyu编 | 小轶对比学习是 2021 年几大研究热点之一了。如果说预训练模型解决了机器学习对大规模标注数据的需求问题&#xff0c;那么&#xff0c;对比学习可以说是将无监督/自监督学习推广到更一般的应用场景&#xff0c;为苦于标注数据不多的炼丹师们又带来了福音。…

Spring Cloud构建微服务架构:分布式服务跟踪(整合zipkin)【Dalston版】

通过上一篇《分布式服务跟踪&#xff08;整合logstash&#xff09;》&#xff0c;我们虽然已经能够利用ELK平台提供的收集、存储、搜索等强大功能&#xff0c;对跟踪信息的管理和使用已经变得非常便利。但是&#xff0c;在ELK平台中的数据分析维度缺少对请求链路中各阶段时间延…

图谱实战 | 阿里新零售多模态知识图谱AliMe MKG的建设与应用

转载公众号 | DataFunSummit分享嘉宾&#xff1a;陈河宏 阿里巴巴 算法工程师编辑整理&#xff1a;李开琦 SHEIN出品平台&#xff1a;DataFunTalk导读&#xff1a;随着知识图谱技术的发展&#xff0c;其在电商、医疗、金融等领域得到了越来越广泛的应用。在过去的几年间&#x…

LeetCode 第 16 场双周赛(402/822,前48.9%)

文章目录1. 比赛结果2. 题目LeetCode 1299. 将每个元素替换为右侧最大元素 easyLeetCode 1300. 转变数组后最接近目标值的数组和 mediumLeetCode 1302. 层数最深叶子节点的和 mediumLeetCode 1301. 最大得分的路径数目 hard1. 比赛结果 做出了2道题&#xff0c;第二道题耽搁时…

CS 期刊哪家强?CCF 发布最新期刊分级目录!

文 | python分级目录中国计算机学会&#xff08;CCF&#xff0c;就是评ABC类会议的那个机构&#xff09;&#xff0c;在2022年2月19日刚刚发布了《计算领域高质量科技期刊分级目录》。该目录包含T1、T2、T3三类期刊&#xff0c;分别为T1类期刊16本&#xff0c;T2类期刊23本&…

Spring Cloud构建微服务架构:分布式服务跟踪(整合logstash)【Dalston版】

通过之前的入门示例&#xff0c;我们已经为trace-1和trace-2引入了Spring Cloud Sleuth的基础模块spring-cloud-starter-sleuth&#xff0c;实现了为各微服务的日志信息中添加跟踪信息的功能。但是&#xff0c;由于日志文件都离散的存储在各个服务实例的文件系统之上&#xff0…

会议交流 | 第十六届全国知识图谱与语义计算大会(8月24-27日)

点击阅读原文&#xff0c;进入 CCKS2022 官方网站。OpenKGOpenKG&#xff08;中文开放知识图谱&#xff09;旨在推动以中文为核心的知识图谱数据的开放、互联及众包&#xff0c;并促进知识图谱算法、工具及平台的开源开放。

1000层的Transformer,诞生了!

卖萌屋今日学术精选大家好&#xff0c;我是卖萌酱。今天下午卖萌屋作者群里一位MILA实验室的大佬在临睡前&#xff08;蒙特利尔时间凌晨0点半&#xff09;甩出来一篇论文&#xff1a;大佬表示太困了&#xff0c;肝不动了&#xff0c;于是卖萌酱左手抄起一罐咖啡&#xff0c;右手…

LeetCode 1305. 两棵二叉搜索树中的所有元素(二叉树迭代器)

1. 题目 给你 root1 和 root2 这两棵二叉搜索树。 请你返回一个列表&#xff0c;其中包含 两棵树 中的所有整数并按 升序 排序。. 提示&#xff1a; 每棵树最多有 5000 个节点。 每个节点的值在 [-105, 105] 之间。 2. 二叉树迭代器 按照中序迭代&#xff0c;比较两个迭代…

Spring Cloud构建微服务架构:分布式服务跟踪(跟踪原理)【Dalston版】

通过上一篇《分布式服务跟踪&#xff08;入门&#xff09;》的例子&#xff0c;我们已经通过Spring Cloud Sleuth往微服务应用中添加了实现分布式跟踪具备的基本要素。下面通过本文来详细说说实现分布式服务跟踪的一些要点。 分布式系统中的服务跟踪在理论上并不复杂&#xff0…

竞赛报名 | “未来杯”第二届知识图谱锦标赛火热报名中,最高奖金32000元!...

转载公众号 | AI Timer继2021年“未来杯”系列赛事之AI学术联赛暨首届人工智能知识图谱锦标赛成功举办后&#xff0c;中软国际教育科技集团旗下SteerTech科技创新开源生态平台联手AI TIME&#xff0c;再一次迎来人工智能知识图谱应用在众多领域落地的探索旅程。一、组织机构【…

我在鹅厂,拿到满星绩效!

文 | 山竹小鹅背绩效&#xff1f;就算SP以上也背绩效&#xff1f;互联网寒冬&#xff1f;内卷太严重&#xff1f;卷不动&#xff1f;资本家吃相太难看&#xff1f;……听了太多消极言论&#xff0c;有些是陈述事实&#xff0c;也有很多是贩卖焦虑。吐槽能变得更好吗&#xff1f…