Question
A Java method isLeaf(TreeNode node) is intended to check if a given node is a leaf in a binary tree. class TreeNode { Â Â int val; Â Â TreeNode left, right; Â Â TreeNode(int
x) { val = x; } } public boolean isLeaf(TreeNode node) { Â Â if (node == null) { Â Â Â Â return false; Â Â } Â Â return node.left == null || node.right == null; // Potential bug here } If isLeaf is called on a node that has a left child but no right child, what will the method return?
Solution
• Dry Run: o Consider a node N that has a left child (N.left is not null) but no right child (N.right is null). This is not a leaf node by definition. o Call isLeaf(N):  node == null is false.  The return statement evaluates N.left == null || N.right == null.  This becomes false || true, which evaluates to true. o So, the method returns true for a node that is not a leaf. • Why Correct Answer (C): true, which is incorrect because it's not a leaf. o The dry run confirms that the method will return true. o The explanation correctly states that this is incorrect because a node with only one child is not a leaf. A correct isLeaf implementation would use && (AND): return node.left == null && node.right == null;.
- Which layer is not in OSI but in TCP/IP
- The LRU replacement algorithm will select the page that:
- How do you correctly create a new Map object in JavaScript?
- What is a "smart object" in IoT?
- The Naive Pattern Searching algorithm has a worst-case time complexity of O(MN), where 'M' is the length of the pattern and 'N' is the length of the text. ...
- Which of the following statements accurately describes the use of the SQL CREATE statement?
- Which of the following statements is true regarding user-level threads compared to kernel-level threads?
- What is the time complexity for performing enqueue and dequeue operations on a queue implemented using a linked list?
- What is the time complexity of the KMP algorithm for searching a pattern of length 'M' in a text of length 'N'?
- For a sparse matrix, which representation method is generally preferred to save memory and improve computational efficiency?