leetcode日记(59)简化路径

(小杯文字描述…看了好一会才看懂题目要求)题目是标准化路径,就是将多个‘/’优化为一个、将最后一个‘/’去掉、将‘/../’和‘/./’去掉,将原路径转化为实际想表达的最终路径。

有点像单纸带图灵机,需要依次遍历字母,删去不需要的内容。遇到斜杠看后面是否紧接斜杠,遇到‘.’就往前遍历,回到第一或二个文件名处,将这个文件名和斜杠删除。

这里出错了好几次,因为示例有文件名是“..xxx”和“xxx..”这种,就会导致判断错误,所以要完善好判断标准。

class Solution {
public:string simplifyPath(string path) {int i=0;while(i<path.size()){if(path[i]=='/'){int j=i+1;for(j;j<path.size();j++){if(path[j]!='/') break;else{path.erase(path.begin()+j);j--;}}i=j;if(i==path.size()) path.pop_back();}else if(path[i]=='.'){if(path[i+1]=='.'&&(path[i+2]=='/'||path[i+2]==NULL)){int k=2;for(int j=i+1;j>=0;j--){if(path[j]=='/') k--;path.erase(path.begin()+j);i--;if(k==0) break;}i+=2;}else if(path[i+1]=='/'||path[i+1]==NULL){int k=1;for(int j=i;j>=0;j--){if(path[j]=='/') k--;path.erase(path.begin()+j);i--;if(k==0) break;}i++;}else{int j=i+1;for(j;j<path.size();j++){if(path[j]!='.') break;}i=j;}}else{int j=i+1;for(j;j<path.size();j++){if(path[j]=='/') break;}i=j;}cout<<i<<" "<<path<<endl;}if(path.size()==0) path.push_back('/');return path;}
};

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

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

相关文章

Windows系统安全加固方案:快速上手系统加固指南 (下)

这里写目录标题 一、概述二、IP协议安全配置启用SYN攻击保护 三、文件权限3.1 关闭默认共享3.2 查看共享文件夹权限3.3 删除默认共享 四、服务安全4.1禁用TCP/IP 上的NetBIOS4.2 ### 禁用不必要的服务 五、安全选项5.1启动安全选项5.2禁用未登录前关机 六、其他安全配置**6.1防…

《JavaEE》----2.<多线程的简介创建Thread类>

前言&#xff1a; 大家好&#xff0c;我目前在学习java。我准备利用这个暑假&#xff0c;来复习之前学过的内容&#xff0c;并整理好之前写过的博客进行发布。如果博客中有错误或者没有读懂的地方。热烈欢迎大家在评论区进行讨论&#xff01;&#xff01;&#xff01; 喜欢我文…

【深度学习】“复杂场景下基于深度学习的卷积神经网络在鸟类多类别识别中的模型设计与性能优化研究“(中)

【深度学习】“复杂场景下基于深度学习的卷积神经网络在鸟类多类别识别中的模型设计与性能优化研究”(中) 大家好 我是寸铁&#x1f44a; 【深度学习】“复杂场景下基于深度学习的卷积神经网络在鸟类多类别识别中的模型设计与性能优化研究”(中)✨ 喜欢的小伙伴可以点点关注 &a…

Qt 实战(3)数据类型 | 3.3、QString

文章目录 一、QString1、创建和初始化 QString2、字符串拼接3、字符串的查找和替换4、字符串的分割5、字符串的转换6、字符串的格式化7、国际化支持 前言&#xff1a; QString 是 Qt 框架中用于处理 Unicode 字符串的一个非常强大且灵活的类。它提供了丰富的功能来操作文本数据…

一个网站搞定Adobe系列软件下载安装,良心网站!

Adobe系列软件几乎是每个办公职场人都会用到的软件&#xff0c;比如PDF&#xff0c;PS&#xff0c;AI&#xff0c;PE&#xff0c;PR等&#xff0c;不管你是设计图片&#xff0c;制作编辑音频还是视频&#xff0c;Adobe都有对应的软件。但是对于大部分用户来说&#xff0c;Adobe…

小A点菜

题目描述 小A口袋里只剩 M 元 (M≤10000)&#xff0c;来到一家餐馆点菜吃饭。 餐馆有 N(N≤100) 种菜品&#xff0c;但每种菜只有一份&#xff0c;其中第 i 种售价 ai​ 元 (ai​≤1000) 。 小A奉行 “不把钱花光就不罢休” 的原则&#xff0c;所以他点的菜一定刚好把身上的…

Linux网络:传输层TCP协议(四)拥塞控制及延迟应答

目录 一、拥塞控制 二、延迟应答 一、拥塞控制 虽然 TCP 拥有滑动窗口这个大杀器机制来根据具体情况对发送的数据大小和速度进行实时控制, 能够高效并且可靠的发送大量的数据. 但是如果在双方建立好连接后的刚开始阶段就发送大量的数据。仍然可能引发一些问题. 因为同一个网…

Ubuntu转竖屏,文件解锁和查看mac地址命令记录

又到了摸索ubuntu的时间&#xff0c;记录几个命令. &#xff08;1&#xff09;横屏与竖屏模式互转 1)横屏转竖屏 xrandr -o left xrandr -o right 2)竖屏转回来为横屏 xrandr -o normal (2)文件/文件夹加上了小锁需解锁 1)文件加锁需解锁 sudo chmod 777 yourfilename 2)文件夹…

聊聊sysinfo结构体

sysinfo的定义 sysinfo 结构体的完整定义如下。这个定义包含了一些特定的类型&#xff0c;如 __kernel_long_t 和 __kernel_ulong_t&#xff0c;这些类型是为了在不同架构上提供一致的数据大小而定义的。以下是对这个结构体中每个成员的详细解释&#xff1a; struct sysinfo …

SpringBoot 通过集成 Flink CDC 来实时追踪 MySql 数据变动

简简单单 Online zuozuo:欢迎商业合作 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo :联系我们:VX :tja6288 / EMAIL: 347969164@qq.com 文章目录 SpringBoot 通过集成 …

Ubuntu开机自启配置(基于service:以ROS和docker为例)

Ubuntu开机自启配置(以ROS和docker为例) 前言1. service介绍1.1 service命令的基本用法1.2. service命令的常用操作1.3. service命令与systemd的兼容性2. Example之开机启动ROS2.1 创建服务单元文件2.1.1 新建`.service`文件2.1.2 编写`.service`文件2.2 重新加载systemd配置…

怎么给PDF文件加密码?关于PDF文件加密的四种方法推荐

怎么给PDF文件加密码&#xff1f;给PDF文件加上密码是保护文件安全的一种重要方法&#xff0c;特别是当需要在不受授权的访问下保护敏感信息时。这个过程不仅仅是简单地设置密码&#xff0c;而是涉及到对文档内容和访问控制的深思熟虑。加密PDF文件可以有效防止未经授权的用户查…

杂谈(杂鱼谈论c语言)——2.大小端字节序

⼤⼩端字节序和字节序判断 当我们了解了整数在内存中存储后&#xff0c;我们调试看⼀个细节&#xff1a; #include <stdio.h> int main() {int a 0x11223344;return 0; } 调试的时候&#xff0c;我们可以看到在a中的 0x11223344 这个数字是按照字节为单位&#xff0c;…

creality ender2的3D打印经验教训

创想云-3D打印模型库-一体化3D打印平台 1.开机后要放一张白纸进行检查&#xff0c;看看打印头立平台的距离&#xff0c;如果太近&#xff0c;会灼烧平台&#xff0c;会造成下面的结果&#xff1a; 2.下载模型&#xff0c;可以在线切片&#xff0c;要看看是否要支撑 没有支撑可…

构建云原生Java应用

引言 云原生技术正在改变软件开发和部署的方式。云原生应用利用了云计算的优势&#xff0c;如弹性、可扩展性和高可用性。对于Java开发者来说&#xff0c;构建云原生应用意味着需要采用微服务架构、服务网格、持续部署等技术。本文将探讨如何设计和实现云原生Java应用。 云原…

vulntarget-a

实际部署之后的win7 ip: 192.168.127.128 具体攻击过程如下 win7 扫描服务 使用fscan扫描win 7中的服务以及漏洞 ./fscan -h 192.168.127.128 扫出来一个ms17-010以及通达oa的漏洞&#xff0c;既然有永恒之蓝的&#xff0c;直接上MSF就行了 msf6 > search ms17-010 msf6…

Bouncy Castle集成SM2与SM3

在Bouncy Castle库中&#xff0c;SM2和SM3是两种分别用于非对称加密和数字签名的密码算法&#xff0c;它们也可以结合使用&#xff0c;形成一种高安全性的加密签名方案&#xff0c;即SM2withSM3。以下是对SM2SM3的详细解释&#xff1a; 一、SM2算法 SM2是一种由中国国家密码管…

由CANoe自带协议栈在TCP断开连接时同时发送两条FIN报文引起的注意事项

在我写这篇文章CAPL如何在底层模拟TCP Server端断开TCP连接时,我发现了一个奇怪的现象。我为了使用CAPL组装报文的方式实现TCP Server断开连接的过程,插入一个网络节点作为Client端。为了让Client能够发起连接和发起断开连接,给网络节点配置了独立的TCP/IP Stack,也就是CAN…

D. Fun(cf962div3)

题意&#xff1a;找出满足abacbc<n&&abc<x的a&#xff0c;b&#xff0c;c的个数 分析&#xff1a;遍历a&#xff0c;遍历符合条件的b&#xff0c;找出两个式子c的最大值的最小值相加。 代码&#xff1a; #include<bits/stdc.h> using namespace std; ty…

学前教育优化算法,原理详解,MATLAB代码免费获取

学前教育优化算法&#xff08;Preschool Education Optimization Algorithm&#xff0c;PEOA)是一种受学前教育过程中孩童的活动行为启发而提出的元启发式优化算法。学前教育在儿童的早期发展中起着至关重要的作用&#xff0c;并为他们未来的学习旅程奠定基础。作为幼儿学习者发…