バイナリツリーの特定のノードまでのパスを再帰的に表示しようとしています。このメソッドは、「左、右、左」の方法で必要なパスを出力します。これが私がこれまでに持っているものです:
public static void pathToNode(BTNode p, char target, String res){
if(p.data == target){
res = res + p.data;
System.out.println(res);
return;
}else if(res != null){
if(res.charAt(0) == 'S'){
res = res + p.data;
}
}else{
pathToNode(p.leftLink, target, res);
pathToNode(p.leftLink, target, res);
}
}
このコードは、「ABCD」のようにパスを出力することを目的としています。これを行った後、各ノードトラバーサルの正しいオプションに基づいて、メソッドを左右どちらかに出力する予定です。何か案は?