athrunwang

纪元
数据加载中……
新浪一道面试题:写一个函数,计算两个文件的相对路径的递归算法
public class Main {
public static void main(String[] args) {
String pathB = "/P/y/z/a/b/c/d/34/c.php";
String pathA = "/P/y/z/a/b/a/g/e.php";
System.out.println(pathARelativePathB(pathA,pathB,0));
}
 
public static String pathARelativePathB(String pathA , String pathB, int i){
if(pathA.contains(pathB)){
StringBuilder replaceSb = new StringBuilder();  
if(i==1){
replaceSb.append(".");
}else{
while(i>1){
replaceSb.append("../");
--i;
}
}
return pathA.replace(pathB,replaceSb.substring(0, replaceSb.lastIndexOf("/")));
}else{
return pathARelativePathB(pathA,pathB.substring(0,pathB.lastIndexOf("/")),++i);
}
}
}

posted on 2012-09-01 01:35 AthrunWang 阅读(932) 评论(2)  编辑  收藏

评论

# re: 新浪一道面试题:写一个函数,计算两个文件的相对路径的递归算法 2012-09-01 01:38 AthrunWang

String aPath = "/P/y/z/a/b/a/g/e.php";
String bPath = "/P/y/z/a/b/a/g/c.php";
情况的时候貌似不对。
代码可改成:
public String pathARelativePathB(String pathA, String pathB, int i) {
// A相对于B ../g/e.php
if (pathA.contains(pathB)) {
if (i == 1) {
return pathA.replaceAll(pathB + "/", "");
} else {
StringBuffer sb = new StringBuffer();
for (int j = 1; j < i; j++)
sb.append("../");
return sb.append(pathA.replaceAll(pathB + "/", "")).toString();
}
} else {
return pathARelativePathB(pathA, pathB.substring(0, pathB.lastIndexOf("/")), ++i);
}
}
  回复  更多评论    

# re: 新浪一道面试题:写一个函数,计算两个文件的相对路径的递归算法 2013-07-01 14:21 计算两个文件的相对路径的递归算法

计算两个文件的相对路径的递归计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法计算两个文件的相对路径的递归算法算法
  回复  更多评论    

只有注册用户登录后才能发表评论。


网站导航: