פבר.22

למצוא בני דודים בעץ בינרי

למצוא בני דודים בעץ בינרי

יש למצוא האם שני מספרים הם בני דודים בעץ בינרי. אסור שיהיה אבא משותף. חייבים להיות באותה רמה.

  1. public boolean IsCousins(Node root, int x, int y){
  2. (Node parentOfX, int depthX) = Depth(null, root, x, 0);
  3. (Node parentOfY, int depthY) = Depth(null, root, y, 0);
  4. return depthX == depthY && parentOfX != parentOfY;
  5. }
  6.  
  7. private (Node parent, int depth) Depth(Node parent, Node current, int val, int level) {
  8. if (current == null) return (null, -1);
  9. if (root.val == val) return (parent, level);
  10. return Depth(root, root.left, val, level+1) ?? Depth(root, root.right, val, level+1);
  11. }


שתף את הסיפור הזה:

תגובות(0)

השאירו תגובה

קפטצ'ה לא מתאימה

תגובה