首页 > 其他分享 >Unix路径简化

Unix路径简化

时间:2022-10-26 20:02:20浏览次数:55  
标签:tmp index .. 路径 while else Unix 简化 Input


题目描述

简化 Unix 风格的路径,需要考虑的包括 "/../", "//", "/./" 等情况

输入描述:


Unix 风格的路径


输出描述:


简化后的Unix 风格路径


示例1

输入

复制


/a/./b/../../c/


输出

复制


/c


#include<iostream>
#include<string>
#include<stack>

using namespace std;

int main(){
string Input;
cin >> Input;
int index = 0;
stack<string> S;
while(index < Input.length()){
while(Input[index] == '/'){
index++;
}
string tmp = "";
while(index < Input.length() && Input[index] != '/'){
tmp += Input[index];
index++;
}
if(tmp == "."){
continue;
}
else if(tmp == ".."){
if(!S.empty()){
S.pop();
}
else{continue;}
}
else if(tmp.length() != 0){
S.push(tmp);
}
}
string Result = "";
if(S.empty()){
Result = "/";
}
else{
while(!S.empty()){
Result = "/" + S.top() + Result;
S.pop();
}
}
cout << Result << endl;
return 0;
}

 

标签:tmp,index,..,路径,while,else,Unix,简化,Input
From: https://blog.51cto.com/u_13121994/5798304

相关文章

  • BFS--宽搜求最短路径
    1010#S######.#......#..#.#.##.##.#.#........##.##.####....#....#.#######.#....#......####.###.....#...G##是障碍,.是通道,S是起点,G是终点求出最短路径长度......
  • Unix/Linux系统编程(信号和信号处理)
     一.关于信号和中断1.信号机制别名软中断,在<signal.h>系统头文件中定义了一系列的信号编号,都对应着一个正整数量:  进程在用户空间运行时,都要用信号机制......
  • 传统制造业数字化转型路径与实践
    1“新技术”本质认知1.1什么是云,为什么说云是智能世界的“黑土地”云的定义云的定义看似模糊,但本质上,它是一个用于描述全球服务器网络的术语,每个服务器都有自己独特的功能......
  • iOS小技能:简化版的隐私弹窗
    Idemo项目简介1.1使用Cocoapods管理第三方库依赖在项目目录下​​touchPodfile​​​之后声明依赖库,然后允许​​podintsall​​进行依赖的安装source'https://githu......
  • 可穿戴心电ECG监测的技术路径及特点
      在传统的医疗设备中,监测心跳速率和心脏活动是经由测量电生理讯号与心电图(ECG)来完成的,需要将电极连接到身体来量测心脏组织中所引发电气活动的信号。常见的设备用......
  • Python 获取文件路径
    demo_dir.pyimportos"""获取当前目录"""print(os.getcwd())print(os.path.abspath(os.path.dirname(__file__)))"""获取上一级目录"""print(os.path.abspath(os.......
  • vue3+vite+ts 项目配置 @/路径
    vite.config.ts文件中前置条件下载types/node下面引入的path会用到npminstall@types/node--save-dev原因:path模块是node.js内置的功能,但是node.js本身并不支持ts,......
  • QT——保存数据到文件,用户选择保存路径,在该路径下生成指定格式的文件,进行保存数据
    QStringwc_createdata=QFileDialog::getSaveFileName(NULL,QString::fromLocal8Bit("生成报告"),tr(".csv"));if(wc_createdata.at(wc_creat......
  • CF 265B(行道树简化版)
    B.RoadsideTrees(SimplifiedEdition)timelimitpertestmemorylimitpertestinput......
  • 故事 --- Linux和UNIX之间的那些爱恨与情仇
     Linux和UNIX具体有哪些关系及区别?UNIX与Linux之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中,UNIX诞生于20世纪60年代末,Windows诞生于2......