0
私は、指定されたノードから指定された値のキーを持つノードへのパスを返す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]
しかし、可能になっている:(Javaの8 Streamsを使用)は、例えばそのような
6, 5, 1, 4
パスは配列なので、ループ投げしてそのように印刷するのはなぜですか?次に、それがどのように見えるかを制御することができます。 – imtheman
私は試してみましたが、シンタックスエラー@imtheman – liiu