news 2026/4/3 6:14:02

LeetCode 71:简化 Unix 路径(Simplify Path)——栈 / vector

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode 71:简化 Unix 路径(Simplify Path)——栈 / vector

LeetCode 71:简化 Unix 路径(Simplify Path)——栈 / vector

1. 题目描述

给定一个 Unix 风格的绝对路径path,请将其化简为规范路径。规则如下:

  • 多个连续的/视为一个/
  • .表示当前目录,忽略
  • ..表示返回上一级目录(若已在根目录/,则保持/
  • 其他字符串视为目录名,保留

输出要求:

  • 必须以/开头
  • 目录之间用单个/分隔
  • 末尾不能多一个/(除非输出就是根目录/

2. 解题思路(用栈保存目录)

把路径按/切成一个个目录片段(token),用vector<string>充当“栈”:

  • token 为空:说明是开头的/或出现//→ 跳过
  • token ==.:当前目录 → 跳过
  • token ==..:返回上级 → 栈非空则pop_back()
  • 其他:正常目录名 →push_back()

最后把栈中的目录按顺序拼接回去:

  • 栈空 → 返回/
  • 否则 →/" + dir1 + "/" + dir2 + ...

3. 示例

  • 输入:/home/
    输出:/home

  • 输入:/a/./b/../../c/
    输出:/c

  • 输入:/../
    输出:/

  • 输入:/home//foo/
    输出:/home/foo


4. 代码实现

#include<string>#include<vector>usingnamespacestd;classSolution{public:stringsimplifyPath(string path){vector<string>st;string name;intlen=static_cast<int>(path.size());for(inti=0;i<=len;++i){charc=(i==len)?'/':path[i];if(c=='/'){//name为空有2种情况,一种就是开始就是 '/'//另一种就是连续的 '/'(因为上次name被clear了)if(name.empty())continue;if(name=="."){}elseif(name==".."){if(!st.empty())st.pop_back();}else{st.emplace_back(name);}name.clear();}else{name.push_back(c);}}if(st.empty())return"/";string res;for(constauto&s:st){res.push_back('/');res+=s;}returnres;}};
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/31 15:16:04

豆包 AI 手机登录微信被「踢下线」,原因为何?端侧 AI 与头部应用的生态兼容上存在哪些挑战?

2025年12月&#xff0c;豆包 AI 手机的发布成为了科技行业的热门话题。这款手机的最大亮点在于其情感智能系统&#xff0c;能够通过面部识别、语音分析等方式实时感知用户的情绪&#xff0c;并根据情感变化提供个性化的互动和服务。然而&#xff0c;在迎来巨大关注的同时&#…

作者头像 李华
网站建设 2026/3/27 15:12:34

【第56套】很综合,值得练手!

写在前面车门焊死&#xff0c;考研将至&#xff0c;准备冲刺&#xff01;我将持续为大家更新25最新真题解析&#xff01;学得快的同学可以和我一起&#xff0c;全力冲刺&#xff5e;注意&#xff0c;目前我只发布最新年份的真题&#xff0c;其他年份的真题&#xff0c;一个是很…

作者头像 李华
网站建设 2026/3/28 15:34:21

新能源电动汽车主驱电驱控制器开发全解析

主机厂基于Simulink MBD新能源电动汽车主驱电驱控制器算法模型及开发资料&#xff0c;量产模型&#xff0c;量产软件&#xff0c;量产代码&#xff0c;软件架构设计&#xff0c;输入输出定子&#xff0c;单元测试&#xff0c;MIL测试资料。 Sumlink MCU电机控制策略 svpwm AUTO…

作者头像 李华
网站建设 2026/3/26 6:41:18

【毕业设计】基于SpringBoot+Vue的自习室预约管理系统设计和实现基于springboot高校自习室预约系统的设计与实现(源码+文档+远程调试,全bao定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/1 9:07:35

数据中心安全建设方案

整体文件目录&#xff1a;【核心数据安全】数据安全管理规定.docx【数据安全管理制度】数据安全管理办法.doc安全运营培训PPT材料.pptx服务器巡检表.xlsx公司信息安全管理制度.doc集团数据安全及权限管理制度.docx集团网络安全管理制度.doc集团网络信息安全管理制度.doc甲方企业…

作者头像 李华