Untitled

 avatar
unknown
plain_text
a month ago
802 B
2
Indexable
class Solution {
    public TreeNode linkedListToBinaryTree(Node head) {
        if (head == null) return null;

        TreeNode root = new TreeNode(head.data);
        Queue<TreeNode> q = new LinkedList<>();
        q.add(root);
        head = head.next;

        while (head != null) {
            TreeNode parent = q.poll();

            // Left child
            TreeNode leftChild = new TreeNode(head.data);
            parent.left = leftChild;
            q.add(leftChild);
            head = head.next;
            if (head == null) break;

            // Right child
            TreeNode rightChild = new TreeNode(head.data);
            parent.right = rightChild;
            q.add(rightChild);
            head = head.next;
        }

        return root;
    }
}
Leave a Comment