我正在使用Path方法,该方法返回从给定节点到具有给定值的键的节点的路径。我的代码返回正确的数字,但它们在括号内。如何取下支架?
private boolean pathhelp(Node n, int val, ArrayList<Integer> lst){
if(n == null){
return false;
}else if(val < n.key){
lst.add(n.key);
return pathhelp(n.left, val, lst);
}else if(val > n.key ){
lst.add(n.key);
return pathhelp(n.right, val, lst);
}else{
lst.add(n.key);
return true;
}
}
public String path(Node node, int value) {
ArrayList<Integer> path = new ArrayList<Integer>();
if(pathhelp(root,value,path) == true ){
System.out.println(path);
String p = "";
//build p from path list
return p;
}else{
return "";
}
}
}
实际输出是:
[6, 5, 1, 4]
但它应该是:
6, 5, 1, 4
答案 0 :(得分:0)
例如(使用Java 8 Streams):
import java.util.*;
import java.util.stream.Collectors;
class Scratch {
public static void main(String[] args) {
ArrayList<Integer> path = new ArrayList<Integer>();
path.add(1);
path.add(2);
String asString = path.stream()
.map(Object::toString)
.collect(Collectors.joining(", "));
System.out.println(asString);
}
}
您也可以使用Guava的Joiner