Java を使用して、バイナリ ツリーのすべてのルートからリーフへのパスを出力しようとしています。
public void printAllRootToLeafPaths(Node node,ArrayList path)
{
if(node==null)
{
return;
}
path.add(node.data);
if(node.left==null && node.right==null)
{
System.out.println(path);
return;
}
else
{
printAllRootToLeafPaths(node.left,path);
printAllRootToLeafPaths(node.right,path);
}
}
主な方法で:
bst.printAllRootToLeafPaths(root, new ArrayList());
しかし、その出力は間違っています。
与えられたツリー:
5
/ \
/ \
1 8
\ /\
\ / \
3 6 9
期待される出力:
[5、1、3]
[5、8、6]
[5、8、9]
しかし、出力は次のように生成されました。
[5、1、3]
[5、1、3、8、6]
[5、1、3、8、6、9]
誰か解ってくれませんか...