/**
* 71. 简化路径
* @author wsq
* @date 2020/10/04
以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。
在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs 相对路径
请注意,返回的规范路径必须始终以斜杠 / 开头,并且两个目录名之间必须只有一个斜杠 /。最后一个目录名(如果存在)不能以 / 结尾。此外,规范路径必须是表示绝对路径的最短字符串。
示例 1:
输入:"/home/"
输出:"/home"
解释:注意,最后一个目录名后面没有斜杠。
示例 2:
输入:"/../"
输出:"/"
解释:从根目录向上一级是不可行的,因为根是你可以到达的最高级。
链接:https://leetcode-cn.com/problems/simplify-path
*/
package com.wsq.stack;
import java.util.Deque;
import java.util.LinkedList;
public class SimplifyPath {
/**
* 按照"/"分割路径,然后根据不同的值做处理
* @param path
* @return
*/
public String simplifyPath(String path) {
String[] sArr = path.split("/");
Deque<String> stack = new LinkedList();
for(String s: sArr) {
if(s.equals("..")){
if(!stack.isEmpty()) {
stack.pop();
}
}else if(!s.equals("") && !".".equals(s)) {
stack.push(s);
}
}
if(stack.isEmpty()) {
return "/";
}
String ans = "";
while(!stack.isEmpty()) {
ans = "/" + stack.pop() + ans;
}
return ans;
}
public static void main(String[] args) {
String path = "/..";
SimplifyPath sp = new SimplifyPath();
String ans = sp.simplifyPath(path);
System.out.println(ans);
}
}
相关推荐
麒麟系统grub被锁怎么办?双密码遗忘救援指南(实测V10 SP3版本)
本文详细介绍了麒麟系统V10 SP3版本在GRUB和root密码双遗忘情况下的救援指南。通过ISO镜像进入救援模式,结合单用户模式操作,实现密码重置与系统权限恢复,特别适用于等保合规环境。
LeetCode 简化路径
以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs 相对路径 请注意,返回的规范路径必须始终以斜杠 / 开头,并且两个目录名之间必须只有一个斜...
N32串口DMA接收不定长数据:空闲中断与DMA通道的协同处理
本文详细解析了在N32系列MCU中,利用串口空闲中断与DMA通道协同处理不定长数据的核心机制与实战方法。通过剖析空闲中断的触发时机、DMA的配置要点以及两者协同工作的关键时序,提供了避免数据错乱的避坑指南和完整的代码实现,旨在帮助开发者构建高效、可靠的嵌入式串口通信子系统。
71题:简化路径
以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs 相对路径 请注意,返回的规范路径必须始终以斜杠 / 开头,并且两个目录名之间必须只有一个斜杠 /。最后一个目录名(如果存在)不能以 / 结尾。此外,规范路径必须是表示绝对路径的最短字符串。 来源:.
告别数据丢失焦虑:用Python手把手实现Reed-Solomon码(附完整代码)
本文详细介绍了如何使用Python实现Reed-Solomon纠错码(RS码),帮助开发者有效防止数据丢失。通过基础编解码实战、文件保护方案和高级性能优化技巧,读者可以轻松掌握这一前向纠错技术,应用于物联网、文件存储和网络传输等场景,提升数据可靠性。
六轴机器人正解
采用的是John H.Craig在【机器人学导论】中的改进DH模型 1.六轴坐标系 2.DH参数 i αi−1\alpha_{i-1}αi−1 ai−1a_{i-1}ai−1 did_idi θi\theta_iθi初值 1 0 0 0 0 2 -90 a1a_1a1 0 -90 3 0 a2a_2a2 0 -90 4 -90 a3a_3a3 d4d...
leetcode题目----简化路径
leetcode简化路径题目思路代码 题目 以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs 相对路径 请注意,返回的规范路径必须始终以斜杠...
基于Spring Boot在线远程考试系统的设计与实现
结合先进的互联网技术,开发符合需求的软件,让数据内容管理不管是从录入的及时性,查看的及时性还是汇总分析的及时性,都能让正确率达到最高,管理更加的科学和便捷。目前的信息时代,对信息的管理趋于高效化,便捷化,这也是计算机大力普及所带来的便利,此程序软件在设备选用上,依靠的是比较大众的电脑设备,对电脑的配置没有过多要求,一般学校的计算机机房的电脑都可以满足程序开发需求,另外,开发出此款程序,让信息处理变得高效率,其所带来的高效益是远超程序开发的低成本的,因此程序开发的资金投入是可以忽略不计的。
简化路径
给定一个文档(Unix-style)的完全路径,请进行路径简化。 样例 "/home/", => "/home" "/a/./b/../../c/", => "/c" 解题思路:可以把目录看成一棵树,则一条路径即为从树根到每个子节点的路径,一层层的走下去。 如果当前层为 . 或者 空,则可以忽略 如果当前层为 ..,则要回退到上一层目录 代码: public
ESP32搭配LVGL显示图片的两种方法详解:内部存储 vs 外部文件
本文详细介绍了ESP32搭配LVGL显示图片的两种方法:内部存储与外部文件。内部存储方案适合快速响应的小图片,而外部文件方案则适用于需要灵活更新和大容量图片的场景。通过对比分析,帮助开发者根据项目需求选择最优方案,提升嵌入式系统的UI性能。
麒麟v10系统安装
麒麟v10系统安装
leetcode每日一题 一起进步 71 简化路径
leetcode每日一题 一起进步 71 简化路径题目描述知识点:栈的应用解答 在家这么久刷了不少题,也想着总结一下,欢迎看到的小伙伴一起打卡,监督学习进步,欢迎加v:15810853703,第二天打卡qaq 题目描述 知识点:栈的应用 以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,...
VB摄像头监控
该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制
【leetcode 71】【简化路径】
leetcode 71【简化路径】 题目链接 https://leetcode-cn.com/problems/simplify-path/ 解题思路与代码思路: 主要是对特殊字符的一个处理,只留真正有用的路径在栈中,然后再取出来。对于斜杆“/”,可能存在多个,都过滤掉只剩下一个,′..′'..'′..′代表前一个目录,当它不在首部时,将′..′'..'′..′和前一个元素pop出去,如果在首部,就只将′..′'..'′..′去除 elif ielif \ \ ielif 
C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片
基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正
STM32F407中文手册
STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。
LeetCode 71. 简化路径
给你一个字符串path,表示指向某一文件或目录的 Unix 风格(以'/'开头),请你将其转化为更加简洁的规范路径。在 Unix 风格的文件系统中,一个点()表示当前目录本身;此外,两个点 (..) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,'//')都被视为单个斜杠'/'。对于此问题,任何其他格式的点(例如,'...')均被视为文件/目录名称。请注意,返回的'/''/''/''.''..'返回简化后得到的。"/home"
visio安装包
Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。
71-简化路径
【代码】71-简化路径。
LeetCode71简化路径
为什么遇到..就要回退一级。4.arr与str的区别。
leetcode-71 | 简化路径
title: leetcode-71 | 简化路径 date: 2019-7-27 15:11:33 comments: true categories: “leetcode” tags: - leetcode 中等难度 - 栈 题目描述 以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外...
Leetcode 71. 简化路径
Leetcode 71. 简化路径 标签: Leetcode 题目地址: https://leetcode-cn.com/problems/simplify-path/ 题目描述 以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..) 表示将目录切换到上一级...
Leetcode71. 简化路径
Leetcode71. 简化路径 题目: 以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs 相对路径 请注意,返回的规范路径必须始终以斜杠 ...
leetcode71-简化路径
2.两个目录名之间必须只有一个斜杠 '/' ,多个‘/’视为一个‘/’。4.此外,路径仅包含从根目录到目标文件或目录的路径上的目录(即,不含 '.' 或 '..')‘.’表示本目录可以直接清除 ‘..’表示上一级目录要 清除上一级目录。这道题目是一道字符串截取的问题,这道题主要考虑的就是有关字符串截取的规范,整体来说要有一个清晰的思路。此外,路径仅包含从根目录到目标文件或目录的路径上的目录(即,不含。输入:path = "/a/./b/../../c/"输入:path = "/home//foo/"
LeetCode第71题_简化路径
给你一个字符串path,表示指向某一文件或目录的 Unix 风格绝对路径(以 ‘/’ 开头),请你将其转化为更加简洁的规范路径。在 Unix 风格的文件系统中,一个点()表示当前目录本身;此外,两个点(..)表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,//)都被视为单个斜杠。对于此问题,任何其他格式的点(例如,...)均被视为文件/目录名称。..返回简化后得到的规范路径。
LeetCode71-简化路径
感觉最近做算法题没有状态了 一个上午就只搞了这道题 而且还没弄出来 有些惭愧啊 明天就出CCF考试成绩了 希望能给我好运 71-简化路径 以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成...
Leetcode 71. 简化路径 C++
Leetcode 71. 简化路径 题目 以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs 相对路径 请注意,返回的规范路径必须始终以斜杠 / 开头,并且两个目录名之间必须只有一个斜杠 /。最后一个目录名(如果存在)不能以 / 结尾。此外,规范路径必须
390



被折叠的 条评论
为什么被折叠?



