力扣面试150 简化路径 栈 模拟

devtools/2024/9/25 21:19:45/

Problem: 71. 简化路径
在这里插入图片描述

思路

👩‍🏫 三叶题解
在这里插入图片描述

复杂度

时间复杂度: O ( n ) O(n) O(n)

空间复杂度: O ( n ) O(n) O(n)

Code

class Solution {public String simplifyPath(String path){ArrayDeque<String> d = new ArrayDeque<>();int n = path.length();
//		从 1 开始 跳过第一个 / 根目录for (int i = 1; i < n; i++)// i 表示 / 后面的第一个字母下标{if (path.charAt(i) == '/')// 重复的 / 直接跳过continue;int j = i + 1;// j 找到后面的 /while (j < n && path.charAt(j) != '/')j++;String item = path.substring(i, j);// 取出文件名if ("..".equals(item))// 回到上一级目录,即把上一个目录去掉{if (!d.isEmpty())d.pollLast();} else if (!".".equals(item))// . 则不作处理{d.addLast(item);// 其他的文件名直接加入栈中}i = j;}StringBuilder sb = new StringBuilder();while (!d.isEmpty()){sb.append("/" + d.pollFirst());// 在每个 文件名/目录 前加上 "/"}return sb.length() == 0 ? "/" : sb.toString();// 特判只有根目录的情况}
}

http://www.ppmy.cn/devtools/35074.html

相关文章

SpringBoot中实现发送邮件

概要 在Spring Boot中发送电子邮件相对简单。你可以使用Spring的邮件支持来实现这一点。 步骤&#xff1a; 1.添加依赖&#xff1a;首先&#xff0c;需要在你的pom.xml文件中添加Spring Boot的邮件发送器依赖。 2. 配置邮件服务器&#xff1a;在application.properties或app…

柯桥西语培训之在西班牙旅游点菜哪些坑不能踩?

Por muy bien que se coma en Espaa —que es mucho— hay una cosa innegable: lo que pasa en la cocina se queda en la cocina. No todos los alimentos son igualmente seguros o sabrosos cuando se encuentran fuera de la comodidad de nuestra propia casa. Ya sea po…

单元测试配置

检查 vendor 目录下 是否有bin目录, bin目录下是否有 phpunit 文件 没有安装 composer require —dev phpunit/phpunit 确认版本是 PHPUnit 9.6.7配置IDE配置php解释器点击绿色箭头,运行测试查看效果备注: 单步调试需要安装 xdebug

Web APIs

一、Web APIs 和基础关联性 1、JS组成 JavaScript由 ECMAScript(JavaScript语法&#xff09;,DOM&#xff08;页面文档对象模型&#xff09;,BOM&#xff08;浏览器对象模型&#xff09; 二、API 和 Web API 1、API 应用程序编程接口 API是给程序员提供的一种工具&#xff0c…

Mybatis高级

1. Mybatis多表查询概念 ​ 在学习多表查询的之前&#xff0c;我们要先明确多表的关系都有哪些&#xff0c;如何划分。 1.1 多表关系的划分 一对一 一对一的关系是两张表之间 A表的一条数据只能对应B表的一条数据。比如 订单表和用户表 一个订单只能属于…

《亲密关系》阅读笔记

0 引言 由于博主的情感关系较少&#xff0c;社交也很少&#xff0c;最近遇到一个女孩子&#xff0c;但是发现自己完全不了解女生&#xff0c;对人与人之间的亲密关系了解太少&#xff0c;对人性的理解太过浅显。因此&#xff0c;开始涉略心理学方面书籍&#xff0c;同时现实中…

04 深入浅出JVM

本课时的主题是 JVM 原理。JVM 是 Java 程序运行基础&#xff0c;面试时一定会遇到 JVM 相关的题。本课时会先对面试中 JVM 的考察点进行汇总介绍。然后对 JVM 内存模型、Java 的类加载机制、常用的 GC 算法这三个知识点进行详细讲解。最后汇总 JVM 考察点和加分项&#xff0c;…

MySQL性能调优全面指南

MySQL作为广泛使用的开源关系型数据库管理系统&#xff0c;其性能调优对于确保数据库高效、稳定运行至关重要。本文将介绍MySQL性能调优的多个方面&#xff0c;包括查询性能调优策略、服务器性能调优&#xff08;内存、CPU、I/O等&#xff09;&#xff0c;以及监控工具如Percon…