博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一道新浪面试算法题,两行代码搞定,有兴趣的看看
阅读量:5817 次
发布时间:2019-06-18

本文共 680 字,大约阅读时间需要 2 分钟。

hot3.png

新浪一道面试题:写一个函数,算出两个文件的相对路径的 递归算法

 

   public static void main(String[] args) throws Exception {

        String pathA = "/a/b/c/d/g/m/1.txt";

        String pathB = "/c/b/c/d/g/h/2.txt";
        System.out.println(pathARelativePathBRecursion(pathA,pathB,""));
    }

    /**

     * pathA相对于pathB的相对路径 递归算法:
     *
     * @param pathA
     * @param pathB
     * @param i
     * @return
     */
    public static String pathARelativePathBRecursion(String pathA,String pathB, String tempPath) {
        if (pathA.startsWith(pathB))
            return pathA.replaceFirst(pathB+"/",tempPath.substring(0,tempPath.length()-3));
        else
            return pathARelativePathBRecursion(pathA, pathB.substring(0, pathB.lastIndexOf("/")), "../" + tempPath);
    }

转载于:https://my.oschina.net/xianggao/blog/79343

你可能感兴趣的文章
re:Invent解读:没想到你是这样的AWS
查看>>
PyTips 0x02 - Python 中的函数式编程
查看>>
阿里云安全肖力:安全基础建设是企业数字化转型的基石 ...
查看>>
使用《Deep Image Prior》来做图像复原
查看>>
如何用纯 CSS 为母亲节创作一颗像素画风格的爱心
查看>>
Linux基础命令---rmdir
查看>>
iOS sqlite3(数据库)
查看>>
粤出"飞龙",打造新制造广东样本
查看>>
编玩边学获数千万元A轮融资,投资方为君联资本
查看>>
蓝图(Blueprint)详解
查看>>
Spark之SQL解析(源码阅读十)
查看>>
Android图片添加水印图片并把图片保存到文件存储
查看>>
比特币系统采用的公钥密码学方案和ECDSA签名算法介绍——第二部分:代码实现(C语言)...
查看>>
海贼王十大悲催人物
查看>>
BigDecimal 舍入模式(Rounding mode)介绍
查看>>
开源 免费 java CMS - FreeCMS1.2-标签 infoSign
查看>>
开源 免费 java CMS - FreeCMS1.9 移动APP生成栏目列表数据
查看>>
虚拟机新增加硬盘,不用重启读到新加的硬盘
查看>>
Java IO流详尽解析
查看>>
邮件服务系列之四基于虚拟用户的虚拟域的邮件系统(安装courier-authlib以及部分配置方法)...
查看>>