一道新浪面试算法题,两行代码搞定,有兴趣的看看
一道新浪面试算法题,两行代码搞定,有兴趣的看看
陶邦仁 发表于6年前
一道新浪面试算法题,两行代码搞定,有兴趣的看看
  • 发表于 6年前
  • 阅读 1071
  • 收藏 13
  • 点赞 0
  • 评论 1

【腾讯云】买域名送云解析+SSL证书+建站!>>>   

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

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

 

   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);
    }

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 1527
博文 388
码字总数 1483822
评论 (1)
源的开始
../../../../../../a/b/c/d/g/m/1.txt 表示看不懂 相对关系
×
陶邦仁
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: