1
兄弟は、同じ親を持つノードです。バイナリツリーでは、最大で1つの兄弟が存在します。ルートは兄弟を持つことができないので、ルートは印刷しないでください。兄弟を持たないバイナリツリー内のすべてのノードを出力しますか?
私は今まで使ってきたすべてのテストケースでうまく動作するコードを書いていますが、オンラインジャッジでそれを提出しようとしたとき、ほとんどのケースで間違っていました。私はそれが何であるか把握するために最善を尽くしたが、何がバグかもしれないかを知ることができない。また、私はそれらにアクセスすることができないので、その特定のテストケースのために実行することはできません。
public static void printNodesWithoutSibling(BinaryTreeNode<Integer> root) {
if(root==null)
return;
printNodesWithoutSibling(root.left);
printNodesWithoutSibling(root.right);
if(root.right==null && root.left!=null)
{
System.out.print(root.left.data+" ");
return;
}
else if(root.left==null && root.right!=null)
{
System.out.print(root.right.data+" ");
return;
}
}
は、少なくとも1個のサンプルが予想出力があるあなたの教授やTA –
のために良い質問のように聞こえるJavaでのリファクタリングのための任意の問題を持っていないだろうと思いますか?コードは常に空白スペースを追加します。最後のノードであってもそれは受け入れられますか? –
はいテストケースのうち4つは正常に実行されましたが、他のテストケースは実行できませんでした –