Given an absolute path for a file (Unix-style), simplify it.

For example,
path = "/home/", => "/home"

path = "/a/./b/../../c/", => "/c"

本题简单来说 就是字符串的处理 同时要有相关的情况分类 比如当前目录 父目录 多个斜线等

但其实 就父目录时需要回到上一路经 当前目录时不做任何变化 其他目录时需要进入其他目录 这一特征  本题可用栈来存储整个路径寻找的过程

在path中 逐一找到斜线之间的当前路径名 并分类判断 分类处理  使得栈中存储的为路径的一系列名字  最后再反向串起来成路径真正的字符串即可。

class Solution {
public:
    string simplifyPath(string path) {
        string res_path="";
        if (path.size()==0)
            return res_path;
        stack<string> stack_path;
        for (int i=0; i<path.size();)
        {
            while(i<path.size() && path[i]=='/')
                ++i;
            string name="";
            while(i<path.size() && path[i]!='/')
                name += path[i++];
            if (name==".." && !stack_path.empty())
                stack_path.pop();
            else if(name!="" && name!="." && name!="..")
                stack_path.push(name);
        }
        if (stack_path.empty())
            res_path += '/';
        else
        {
            while(!stack_path.empty())
            {
                res_path = '/'+stack_path.top()+res_path;
                stack_path.pop();
            }
        }
        return res_path;
    }
};

转载于:https://www.cnblogs.com/weiyi-mgh/p/6406363.html

leetcode 79:simplify path相关推荐

  1. leetcode 79: 单词搜索

    题目描述: 给定一个 m x n 二维字符网格 board 和一个字符串单词 word .如果 word 存在于网格中,返回 true :否则,返回 false . 单词必须按照字母顺序,通过相邻的单 ...

  2. LeetCode 71. Simplify Path

    LeetCode 71. Simplify Path 本博客转载自:https://blog.csdn.net/makuiyu/article/details/44497901 Solution1:没 ...

  3. LeetCode实战:二叉树中的最大路径和

    背景 为什么你要加入一个技术团队? 如何加入 LSGO 软件技术团队? 我是如何组织"算法刻意练习活动"的? 为什么要求团队的学生们写技术Blog 题目英文 Given a non ...

  4. LeetCode实战:全排列

    题目英文 Given a collection of distinct integers, return all possible permutations. Example: Input: [1,2 ...

  5. LeetCode实战:最长回文子串

    题目英文 Given a string s, find the longest palindromic substring in s. You may assume that the maximum ...

  6. LeetCode实战:二叉树的最大深度

    题目英文 Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the ...

  7. LeetCode——树:递归

    LeetCode--树:递归 目录 概述 树的高度(LeetCode104) 平衡树(LeetCode110) 两节点的最长路径(LeetCode543) 翻转树(LeetCode226) 归并两棵树 ...

  8. 【DFS + Backtracking】LeetCode 79. Word Search

    LeetCode 79. Word Search Solution1:我的答案 DFS + Backtracking class Solution { public:bool exist(vector ...

  9. 【同124】LeetCode 687. Longest Univalue Path

    LeetCode 687. Longest Univalue Path Solution1: 参考链接:http://zxi.mytechroad.com/blog/tree/leetcode-687 ...

最新文章

  1. 阿里云1C2G虚拟机【99/年】羊毛党集合啦!
  2. bzoj 1412 [ZJOI2009]狼和羊的故事 最小割建图
  3. 21IC上关于stm32 option bytes的操作帖子记录
  4. html input不能输入小数_第三课:变量与输入输出的配合使用
  5. 组件Refs(操作DOM的2⃣️两种方法)
  6. 结构体与共用体(联合体)
  7. Windows Media Player播放器 VC++ 2008
  8. penpyxl basic function demo code
  9. 数据结构与算法读书笔记2----C# 选择排序
  10. Centos7 只启用iptables 禁用firewalld功能.
  11. 使用Object.prototype.toString判断数据类型
  12. 计算机软件企业账务处理,企业购买软件会计上如何处理
  13. Android JS交互-记录我所遇到的
  14. 产品结构图 = 产品功能结构图 + 产品信息结构图
  15. 软件架构师必需要了解的 saas 架构设计?
  16. 2022可用的免费天气预报API接口
  17. 1加9pro刷个lineageOS Android11
  18. USB声卡噪音问题,USB声卡中文名设置,基于STM32F411
  19. 【cov-19】新冠肺炎的SIR模型补充与应用
  20. 定投计划之兴全趋势163402

热门文章

  1. weblogic服务器保存图片失败解决办法
  2. 安装kvm的服务器开启vnc连接其虚拟机
  3. Rackspace进中国,坚决“不掉价”
  4. [Linux] Centos DenyHosts 禁止针对linux sshd的暴力破解
  5. 让linux的防活墙也像windows一样简单易用
  6. Linux下载交通图片数据集CityScapes Dataset
  7. 锁绑定多个条件Condition
  8. SpringMVC入门案例细节分析
  9. MyBatis分页插件PageHelper使用练习
  10. www.lfd.uci.edu网站下载python库显示404解决办法