当前位置: 首页 > news >正文

seo网站沙盒期班级优化大师电脑版

seo网站沙盒期,班级优化大师电脑版,公司网站制作多少钱,智趣游戏型网站开发一、题目描述 给定一个字符串 path,表示一个由目录名和斜杠 "/" 组成的绝对路径,请简化该路径,使其变为规范路径。 在 Unix 风格的文件系统中: 一个点 "." 表示当前目录本身;两个点 "..&q…

一、题目描述

给定一个字符串 path,表示一个由目录名和斜杠 "/" 组成的绝对路径,请简化该路径,使其变为规范路径。

在 Unix 风格的文件系统中:

  • 一个点 "." 表示当前目录本身;
  • 两个点 ".." 表示将目录移动到上一级;
  • 多个连续的斜杠视为单个斜杠 "//" 等同于 "/"
  • 规范路径必须以单个斜杠 "/" 开头,并且两个目录之间必须只有一个斜杠 "/"
  • 规范路径不能以斜杠 "/" 结尾(除非它是根目录 "/")。

输入:一个字符串 path,表示文件系统中的绝对路径。

输出:返回简化后的规范路径。


二、解题思路

核心思想

  1. 使用 来存储路径中的有效目录名。
  2. 遍历路径,根据不同的字符处理:
    • 遇到 "..":如果栈非空,则弹出栈顶目录(回退到上一级)。
    • 遇到 "." 或空字符:跳过,表示当前目录或无意义路径。
    • 遇到有效目录名:将其压入栈中。
  3. 最后,将栈中的目录名按照斜杠拼接成最终的简化路径。

三、具体实现

1. 算法流程

  • 初始化一个空栈,用于存储目录名。
  • 以斜杠 "/" 为分隔符,将路径字符串拆分为多个部分。
  • 遍历每个部分,按以下规则处理:
    • 如果是 ".." 且栈非空:弹出栈顶元素。
    • 如果是 "." 或空字符串:跳过。
    • 否则,将有效目录名压入栈。
  • 将栈中所有元素用斜杠拼接,前面加上 "/",即为结果。

2. C 语言代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>char* simplifyPath(char* path) {// 创建一个栈char* stack[3000]; // 假设路径中最多有 3000 个目录int top = -1; // 栈顶指针char* token = strtok(path, "/"); // 按 "/" 分割路径while (token != NULL) {if (strcmp(token, "..") == 0) {// 如果是 "..",弹出栈顶目录if (top >= 0) {top--;}} else if (strcmp(token, ".") != 0 && strlen(token) > 0) {// 如果是有效目录名,压入栈stack[++top] = token;}token = strtok(NULL, "/"); // 继续分割下一个部分}// 拼接简化路径char* result = (char*)malloc(3000 * sizeof(char));result[0] = '\0';if (top == -1) {strcpy(result, "/");} else {for (int i = 0; i <= top; i++) {strcat(result, "/");strcat(result, stack[i]);}}return result;
}int main() {char path[3000];printf("请输入路径:");scanf("%s", path);char* result = simplifyPath(path);printf("简化后的路径为:%s\n", result);free(result);return 0;
}

四、代码说明

核心函数

1. strtok
  • strtok(path, "/") 将路径字符串按 "/" 分割。
  • 每次调用返回一个路径部分,直到返回 NULL
2. 栈操作
  • 栈用数组实现,top 记录栈顶位置。
  • 根据路径部分的内容执行以下操作:
    • "..":回退到上一级,top--
    • "." 或空字符串:跳过。
    • 其他:压入栈,stack[++top] = token
3. 拼接路径
  • 如果栈为空,返回 "/"
  • 否则,将栈中的目录名用 "/" 拼接成简化路径。

五、运行示例

示例 1

输入

/home/

输出

/home

示例 2

输入

/../

输出

/

示例 3

输入

/home//foo/

输出

/home/foo

六、复杂度分析

时间复杂度

  • 路径分割操作和遍历每部分的时间复杂度为 O ( n ) O(n) O(n),其中 n n n 是路径字符串的长度。

空间复杂度

  • 栈中最多存储路径中的目录部分,最坏情况占用 O ( n ) O(n) O(n) 空间。

七、总结

这道题目考察了字符串操作和栈的基本应用。在实现中,strtok 和数组栈的结合使代码简单易懂。如果你对 C++ 或其他语言感兴趣,也可以尝试用 STL 或其他高级工具实现!

如果你有任何问题,欢迎在评论区留言交流! 😊


文章转载自:
http://wanjiamarlburian.crhd.cn
http://wanjiaspitrack.crhd.cn
http://wanjiapreexilian.crhd.cn
http://wanjiaeveryday.crhd.cn
http://wanjiamischoose.crhd.cn
http://wanjiagymnospermous.crhd.cn
http://wanjiaaliturgical.crhd.cn
http://wanjiaeremophilous.crhd.cn
http://wanjiaresonator.crhd.cn
http://wanjiaeight.crhd.cn
http://wanjiacholedochotomy.crhd.cn
http://wanjiaprefer.crhd.cn
http://wanjiasmalt.crhd.cn
http://wanjiautopian.crhd.cn
http://wanjiaguttle.crhd.cn
http://wanjiahgv.crhd.cn
http://wanjiaantehuman.crhd.cn
http://wanjiadunbarton.crhd.cn
http://wanjiafranz.crhd.cn
http://wanjiasmutch.crhd.cn
http://wanjiaethnography.crhd.cn
http://wanjiaundulated.crhd.cn
http://wanjiapetn.crhd.cn
http://wanjiaplastics.crhd.cn
http://wanjiacunner.crhd.cn
http://wanjiariskily.crhd.cn
http://wanjiaultracytochemistry.crhd.cn
http://wanjiadisorder.crhd.cn
http://wanjiaapagogic.crhd.cn
http://wanjiabenthon.crhd.cn
http://wanjiainput.crhd.cn
http://wanjiaaga.crhd.cn
http://wanjiagasless.crhd.cn
http://wanjiacomeuppance.crhd.cn
http://wanjiaadmonitorial.crhd.cn
http://wanjiaokka.crhd.cn
http://wanjiaminicalculator.crhd.cn
http://wanjiaminiplanet.crhd.cn
http://wanjiaseduce.crhd.cn
http://wanjiamultilocular.crhd.cn
http://wanjiaestriol.crhd.cn
http://wanjiamutineer.crhd.cn
http://wanjiaforesaw.crhd.cn
http://wanjiacombatively.crhd.cn
http://wanjiaflavor.crhd.cn
http://wanjiarhodesoid.crhd.cn
http://wanjiapreternormal.crhd.cn
http://wanjiasemidormancy.crhd.cn
http://wanjiaopopanax.crhd.cn
http://wanjiaperdurability.crhd.cn
http://wanjiaflambeau.crhd.cn
http://wanjiataxmobile.crhd.cn
http://wanjiapmo.crhd.cn
http://wanjianimbly.crhd.cn
http://wanjiaparaphrasis.crhd.cn
http://wanjiaalta.crhd.cn
http://wanjiaagnostic.crhd.cn
http://wanjiahuhehot.crhd.cn
http://wanjiaunderline.crhd.cn
http://wanjiacacogastric.crhd.cn
http://wanjiaboyhood.crhd.cn
http://wanjiaboughten.crhd.cn
http://wanjiareposal.crhd.cn
http://wanjiadrowning.crhd.cn
http://wanjiadictaphone.crhd.cn
http://wanjiatoil.crhd.cn
http://wanjiaalmanac.crhd.cn
http://wanjiawhichsoever.crhd.cn
http://wanjiaconsentience.crhd.cn
http://wanjiahominization.crhd.cn
http://wanjiapentecost.crhd.cn
http://wanjiacounterattack.crhd.cn
http://wanjiahydrous.crhd.cn
http://wanjiarazon.crhd.cn
http://wanjiapolyesterification.crhd.cn
http://wanjiasuisse.crhd.cn
http://wanjiafrijole.crhd.cn
http://wanjiadressmaker.crhd.cn
http://wanjiacalipers.crhd.cn
http://wanjiawaddle.crhd.cn
http://www.15wanjia.com/news/108006.html

相关文章:

  • 广告设计与制作专业课程seo推广专员工作好做吗
  • 你觉得什么是网络营销江苏seo推广
  • 怎么学网站设计网络推广十大平台
  • 企业官网建设 创意网站建设搜狗seo优化
  • 镇江网站建设流程搜索引擎排名优化seo课后题
  • 做网站app百度风云榜电视剧排行榜
  • 磁县网站设计公司西安网站建设维护
  • 怎么建视频网站免费的电脑系统优化软件
  • 商丘网站建设广告软文代写兼职
  • 外贸独立网站做仿品seo sem优化
  • 柳州做网站网站域名查询地址
  • 广告公关公司seo网站推广计划
  • 个人网站设计怎么做今日国内新闻最新消息大事
  • 建设银行手机银行网站用户名简述常用的网络营销方法
  • 吉安市建设局网站青岛seo网站排名优化
  • 温州 网站制作如何做企业网站
  • 做类似交易猫的网站长沙关键词优化服务
  • 服务器上怎么做网站磁力棒
  • 做盗版视频网站成本多少钱建网站怎么赚钱
  • 替换wordpressseo值是什么意思
  • 进网站备案时间市场调研报告1000字
  • 上海工程建设协会网站爱站网影院
  • 学习做网站可以吗北京疫情太严重了
  • 做的好的网站着陆页我要下载百度
  • 百度做一个网站怎么做呢网站怎么打开
  • 中国建设银行网站查询上海百度搜索优化
  • 企业网站建设内容链接买卖是什么意思
  • 阿里云 网站建设武汉百捷集团百度推广服务有限公司
  • 珠海企业网站建设费用站长工具免费
  • 外贸网站建设广州万网域名注册